3 #ifndef DUNE_GRID_ENTITYITERATOR_HH 4 #define DUNE_GRID_ENTITYITERATOR_HH 28 template<
int codim,
class Gr
id,
class IteratorImp >
55 typedef typename Grid::template Codim< codim >::Entity
Entity;
58 typedef typename std::conditional<
59 std::is_lvalue_reference<
60 decltype(realIterator.dereference())
69 realIterator.increment();
77 realIterator.increment();
102 typename std::conditional<
103 std::is_lvalue_reference<
104 decltype(realIterator.dereference())
111 return realIterator.dereference();
115 decltype(handle_proxy_member_access(realIterator.dereference()))
118 return handle_proxy_member_access(realIterator.dereference());
147 : realIterator( imp )
158 template<
int codim,
class Gr
id,
class IteratorImp >
170 #endif // #ifndef DUNE_GRID_ENTITYITERATOR_HH Include standard header files.
Definition: agrid.hh:58
bool operator==(const EntityIterator &rhs) const
Checks for equality.
Definition: entityiterator.hh:125
IteratorImp realIterator
Definition: entityiterator.hh:32
EntityIterator & operator++()
prefix increment operator
Definition: entityiterator.hh:67
forward_iterator_tag iterator_category
Definition: entityiterator.hh:165
value_type & reference
Definition: entityiterator.hh:164
const Implementation & impl() const
access to the underlying implementation
Definition: entityiterator.hh:53
const Entity & operator->() const
Pointer operator.
interface class for an iterator over grid entities
Definition: entityiterator.hh:29
const IteratorImp::Entity value_type
Definition: entityiterator.hh:162
Grid::template Codim< codim >::Entity Entity
Definition: entityiterator.hh:55
ptrdiff_t difference_type
Definition: entityiterator.hh:161
const Entity & operator*() const
Dereferencing operator.
bool operator!=(const EntityIterator &rhs) const
Checks for inequality.
Definition: entityiterator.hh:131
std::conditional< std::is_lvalue_reference< decltype(realIterator.dereference()) >::value, const Entity &, Entity >::type Reference
Type of the reference used when derefencing the Ptr.
Definition: entityiterator.hh:64
EntityIterator(const IteratorImp &imp)
copy constructor from implementaton
Definition: entityiterator.hh:146
Implementation & impl()
access to the underlying implementation
Definition: entityiterator.hh:47
IteratorImp Implementation
type of underlying implementation
Definition: entityiterator.hh:40
EntityIterator()
default construct (undefined) iterator
Definition: entityiterator.hh:142
value_type * pointer
Definition: entityiterator.hh:163