3 #ifndef DUNE_GRID_INTERSECTIONITERATOR_HH
4 #define DUNE_GRID_INTERSECTIONITERATOR_HH
6 #include <dune/common/iteratorfacades.hh>
7 #include <dune/common/proxymemberaccess.hh>
82 template<
class Gr
idImp,
class IntersectionIteratorImp,
class IntersectionImp >
83 class IntersectionIterator
85 #if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
90 friend class GridDefaultImplementation<
91 GridImp::dimension, GridImp::dimensionworld,
92 typename GridImp::ctype,
93 typename GridImp::GridFamily> ;
136 typename std::conditional<
137 std::is_lvalue_reference<
138 decltype(realIterator.dereference())
145 return this->realIterator.dereference();
149 decltype(handle_proxy_member_access(realIterator.dereference()))
152 return handle_proxy_member_access(realIterator.dereference());
173 return rhs.equals(*
this);
183 return ! rhs.equals(*
this);
190 this->realIterator.increment();
207 return this->realIterator.equals(rhs.realIterator);
212 : realIterator( impl )
217 realIterator(i.realIterator) {}
225 #endif // DUNE_GRID_INTERSECTIONITERATOR_HH
Implementation realIterator
Definition: common/intersectioniterator.hh:104
Intersection operator*() const
Dereferencing operator.
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:360
Include standard header files.
Definition: agrid.hh:59
IntersectionIterator(const IntersectionIterator &i)
Definition: common/intersectioniterator.hh:216
bool operator==(const IntersectionIterator &rhs) const
Checks for equality. Only Iterators pointing to the same intersection from the same Entity are equal...
Definition: common/intersectioniterator.hh:171
bool operator!=(const IntersectionIterator &rhs) const
Checks for inequality. Only Iterators pointing to the same intersection from the same Entity are equa...
Definition: common/intersectioniterator.hh:181
IntersectionIterator & operator++()
Preincrement operator. Proceed to next intersection.
Definition: common/intersectioniterator.hh:188
Implementation & impl()
return reference to the real implementation
Definition: common/intersectioniterator.hh:99
Intersection of a mesh entities of codimension 0 ("elements") with a "neighboring" element or with th...
Definition: albertagrid/dgfparser.hh:26
const Implementation & impl() const
return reference to the real implementation
Definition: common/intersectioniterator.hh:101
IntersectionIterator()
Default constructor.
Definition: common/intersectioniterator.hh:195
IntersectionIteratorImp Implementation
Definition: common/intersectioniterator.hh:96
const Intersection * operator->() const
Pointer operator.
Dune::Intersection< GridImp, IntersectionImp > Intersection
Type of Intersection this IntersectionIterator points to.
Definition: common/intersectioniterator.hh:108
IntersectionIterator(const Implementation &impl)
Definition: common/intersectioniterator.hh:211
bool equals(const IntersectionIterator &rhs) const
forward equality check to realIterator
Definition: common/intersectioniterator.hh:205