3 #ifndef DUNE_GRID_COMMON_ENTITYITERATOR_HH
4 #define DUNE_GRID_COMMON_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<
102 typename std::conditional<
103 std::is_lvalue_reference<
115 decltype(handle_proxy_member_access(
realIterator.dereference()))
118 return handle_proxy_member_access(
realIterator.dereference());
158 template<
int codim,
class Gr
id,
class IteratorImp >
159 struct iterator_traits<
Dune::EntityIterator< codim, Grid, IteratorImp > >
Include standard header files.
Definition: agrid.hh:58
interface class for an iterator over grid entities
Definition: entityiterator.hh:30
Implementation & impl()
access to the underlying implementation
Definition: entityiterator.hh:47
const Entity & operator->() const
Pointer operator.
const Entity & operator*() const
Dereferencing operator.
IteratorImp Implementation
type of underlying implementation
Definition: entityiterator.hh:40
Grid::template Codim< codim >::Entity Entity
Definition: entityiterator.hh:55
IteratorImp realIterator
Definition: entityiterator.hh:32
EntityIterator(const IteratorImp &imp)
copy constructor from implementaton
Definition: entityiterator.hh:146
bool operator!=(const EntityIterator &rhs) const
Checks for inequality.
Definition: entityiterator.hh:131
EntityIterator()
default construct (undefined) iterator
Definition: entityiterator.hh:142
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
const Implementation & impl() const
access to the underlying implementation
Definition: entityiterator.hh:53
EntityIterator & operator++()
prefix increment operator
Definition: entityiterator.hh:67
const IteratorImp::Entity value_type
Definition: entityiterator.hh:162
forward_iterator_tag iterator_category
Definition: entityiterator.hh:165
ptrdiff_t difference_type
Definition: entityiterator.hh:161
value_type & reference
Definition: entityiterator.hh:164
value_type * pointer
Definition: entityiterator.hh:163