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 const IteratorImp::Entity value_type
Definition: entityiterator.hh:162
bool operator!=(const EntityIterator &rhs) const
Checks for inequality.
Definition: entityiterator.hh:131
const Entity & operator*() const
Dereferencing operator.
ptrdiff_t difference_type
Definition: entityiterator.hh:161
const Implementation & impl() const
access to the underlying implementation
Definition: entityiterator.hh:53
value_type & reference
Definition: entityiterator.hh:164
EntityIterator(const IteratorImp &imp)
copy constructor from implementaton
Definition: entityiterator.hh:146
interface class for an iterator over grid entities
Definition: entityiterator.hh:29
const Entity & operator->() const
Pointer operator.
EntityIterator()
default construct (undefined) iterator
Definition: entityiterator.hh:142
EntityIterator & operator++()
prefix increment operator
Definition: entityiterator.hh:67
forward_iterator_tag iterator_category
Definition: entityiterator.hh:165
value_type * pointer
Definition: entityiterator.hh:163
Grid::template Codim< codim >::Entity Entity
Definition: entityiterator.hh:55
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
bool operator==(const EntityIterator &rhs) const
Checks for equality.
Definition: entityiterator.hh:125
Implementation & impl()
access to the underlying implementation
Definition: entityiterator.hh:47
IteratorImp realIterator
Definition: entityiterator.hh:32
IteratorImp Implementation
type of underlying implementation
Definition: entityiterator.hh:40
Include standard header files.
Definition: agrid.hh:58