Go to the documentation of this file.
3 #ifndef DUNE_GRID_INTERSECTIONITERATOR_HH
4 #define DUNE_GRID_INTERSECTIONITERATOR_HH
6 #include <dune/common/iteratorfacades.hh>
7 #include <dune/common/proxymemberaccess.hh>
79 template<
class Gr
idImp,
class IntersectionIteratorImp,
class IntersectionImp >
80 class IntersectionIterator
82 #if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
87 friend class GridDefaultImplementation<
88 GridImp::dimension, GridImp::dimensionworld,
89 typename GridImp::ctype,
90 typename GridImp::GridFamily> ;
133 typename std::conditional<
134 std::is_lvalue_reference<
142 return this->realIterator.dereference();
146 decltype(handle_proxy_member_access(
realIterator.dereference()))
149 return handle_proxy_member_access(
realIterator.dereference());
170 return rhs.equals(*
this);
180 return ! rhs.equals(*
this);
187 this->realIterator.increment();
195 this->realIterator.increment();
212 return this->realIterator.equals(rhs.realIterator);
232 template<
class Gr
idImp,
class IntersectionIteratorImp,
class IntersectionImp >
233 struct iterator_traits<
Dune::IntersectionIterator< GridImp, IntersectionIteratorImp, IntersectionImp > >
246 #endif // DUNE_GRID_INTERSECTIONITERATOR_HH
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: albertagrid/dgfparser.hh:26
Include standard header files.
Definition: agrid.hh:59
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:178
IntersectionIterator operator++(int)
Postincrement operator. Proceed to next intersection.
Definition: common/intersectioniterator.hh:192
value_type * pointer
Definition: common/intersectioniterator.hh:237
forward_iterator_tag iterator_category
Definition: common/intersectioniterator.hh:239
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/grid.hh:345
value_type & reference
Definition: common/intersectioniterator.hh:238
Intersection operator*() const
Dereferencing operator.
IntersectionIterator()
Default constructor.
Definition: common/intersectioniterator.hh:200
IntersectionIteratorImp Implementation
Definition: common/intersectioniterator.hh:93
Implementation realIterator
Definition: common/intersectioniterator.hh:101
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:168
IntersectionIterator(const Implementation &impl)
Definition: common/intersectioniterator.hh:216
const typedef Dune::Intersection< GridImp, IntersectionImp > value_type
Definition: common/intersectioniterator.hh:236
IntersectionIterator & operator++()
Preincrement operator. Proceed to next intersection.
Definition: common/intersectioniterator.hh:185
Implementation & impl()
return reference to the real implementation
Definition: common/intersectioniterator.hh:96
const Implementation & impl() const
return reference to the real implementation
Definition: common/intersectioniterator.hh:98
Dune::Intersection< GridImp, IntersectionImp > Intersection
Type of Intersection this IntersectionIterator points to.
Definition: common/intersectioniterator.hh:105
ptrdiff_t difference_type
Definition: common/intersectioniterator.hh:235
bool equals(const IntersectionIterator &rhs) const
forward equality check to realIterator
Definition: common/intersectioniterator.hh:210
const Intersection * operator->() const
Pointer operator.
IntersectionIterator(const IntersectionIterator &i)
Definition: common/intersectioniterator.hh:221