5#ifndef DUNE_GRID_COMMON_INTERSECTIONITERATOR_HH
6#define DUNE_GRID_COMMON_INTERSECTIONITERATOR_HH
8#include <dune/common/iteratorfacades.hh>
9#include <dune/common/proxymemberaccess.hh>
81 template<
class Gr
idImp,
class IntersectionIteratorImp,
class IntersectionImp >
139 typename std::conditional<
140 std::is_lvalue_reference<
148 return this->realIterator.dereference();
152 decltype(handle_proxy_member_access(
realIterator.dereference()))
155 return handle_proxy_member_access(
realIterator.dereference());
186 return ! rhs.
equals(*
this);
193 this->realIterator.increment();
201 this->realIterator.increment();
234 template<
class Gr
idImp,
class IntersectionIteratorImp,
class IntersectionImp >
235 struct iterator_traits<
Dune::IntersectionIterator< GridImp, IntersectionIteratorImp, IntersectionImp > >
Include standard header files.
Definition: agrid.hh:60
Intersection of a mesh entity of codimension 0 ("element") with a "neighboring" element or with the d...
Definition: common/intersection.hh:164
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition: common/intersectioniterator.hh:83
IntersectionIterator()
Default constructor.
Definition: common/intersectioniterator.hh:206
const Intersection * operator->() const
Pointer operator.
IntersectionIterator & operator++()
Preincrement operator. Proceed to next intersection.
Definition: common/intersectioniterator.hh:191
IntersectionIteratorImp Implementation
type of underlying implementation
Definition: common/intersectioniterator.hh:90
Intersection operator*() const
Dereferencing operator.
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:174
Dune::Intersection< GridImp, IntersectionImp > Intersection
Type of Intersection this IntersectionIterator points to.
Definition: common/intersectioniterator.hh:111
IntersectionIterator operator++(int)
Postincrement operator. Proceed to next intersection.
Definition: common/intersectioniterator.hh:198
Implementation & impl()
access to the underlying implementation
Definition: common/intersectioniterator.hh:97
Implementation realIterator
Definition: common/intersectioniterator.hh:107
const Implementation & impl() const
access to the underlying implementation
Definition: common/intersectioniterator.hh:104
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:184
IntersectionIterator(const Implementation &impl)
Definition: common/intersectioniterator.hh:222
bool equals(const IntersectionIterator &rhs) const
forward equality check to realIterator
Definition: common/intersectioniterator.hh:216
forward_iterator_tag iterator_category
Definition: common/intersectioniterator.hh:241
value_type * pointer
Definition: common/intersectioniterator.hh:239
value_type & reference
Definition: common/intersectioniterator.hh:240
const Dune::Intersection< GridImp, IntersectionImp > value_type
Definition: common/intersectioniterator.hh:238
ptrdiff_t difference_type
Definition: common/intersectioniterator.hh:237