3 #ifndef DUNE_GRID_ENTITYITERATOR_HH 4 #define DUNE_GRID_ENTITYITERATOR_HH 34 template<
int codim,
class Gr
id,
class IteratorImp >
44 typedef typename Grid::template Codim< codim >::Entity
Entity;
85 typename std::conditional<
86 std::is_lvalue_reference<
98 decltype(handle_proxy_member_access(
realIterator.dereference()))
101 return handle_proxy_member_access(
realIterator.dereference());
128 template<
class ItImp >
129 DUNE_DEPRECATED_MSG(
"Comparing different types of iterators is deprecated and will be removed after the \ 130 release of dune-grid 2.4. If you want to compare the entities pointed at by the iterators, dereference the \ 131 iterators before comparing them.")
134 return this->
equals( rhs );
146 template<
class ItImp >
147 DUNE_DEPRECATED_MSG(
"Comparing different types of iterators is deprecated and will be removed after the \ 148 release of dune-grid 2.4. If you want to compare the entities pointed at by the iterators, dereference the \ 149 iterators before comparing them.")
152 return !this->
equals( rhs );
164 template<
class ItImp >
165 DUNE_DEPRECATED_MSG(
"EntityPointer is deprecated will be removed after the release of dune-grid 2.4. \ 166 Moreover, comparing different types of iterators is deprecated as well and will also be removed after the \ 167 release of dune-grid 2.4. If you want to compare the entities pointed at by the iterators, dereference the \ 168 iterators before comparing them.")
171 return this->
equals( rhs );
183 template<
class ItImp >
184 DUNE_DEPRECATED_MSG(
"EntityPointer is deprecated will be removed after the release of dune-grid 2.4. \ 185 Moreover, comparing different types of iterators is deprecated as well and will also be removed after the \ 186 release of dune-grid 2.4. If you want to compare the entities pointed at by the iterators, dereference the \ 187 iterators before comparing them.")
190 return !this->
equals( rhs );
199 DUNE_DEPRECATED_MSG(
"EntityPointer is deprecated and will be removed after the release of dune-grid-2.4. \ 200 Instead, you can copy and store entities directly now. You probably stumbled across this warning because you \ 201 compared the return value of Entity::father(), Entity::subEntity(), Intersection::inside() or \ 202 Intersection::outside() with an iterator. To fix the problem, derefence the iterator before comparing.")
205 return (**
this) == rhs;
213 DUNE_DEPRECATED_MSG(
"EntityPointer is deprecated and will be removed after the release of dune-grid-2.4. \ 214 Instead, you can copy and store entities directly now. You probably stumbled across this warning because you \ 215 compared the return value of Entity::father(), Entity::subEntity(), Intersection::inside() or \ 216 Intersection::outside() with an iterator. To fix the problem, derefence the iterator before comparing.")
219 return (**
this) != rhs;
244 template<
int codim,
class Gr
id,
class IteratorImp >
256 #endif // #ifndef DUNE_GRID_ENTITYITERATOR_HH const Entity & operator*() const
Dereferencing operator.
ptrdiff_t difference_type
Definition: entityiterator.hh:247
forward_iterator_tag iterator_category
Definition: entityiterator.hh:251
Wrapper and interface class for a static iterator (EntityPointer)
bool equals(const EntityPointer< Grid, ItImp > &rhs) const
Forward equality check to realIterator.
Definition: common/entitypointer.hh:362
value_type & reference
Definition: entityiterator.hh:250
EntityIterator & operator++()
prefix increment operator
Definition: entityiterator.hh:47
Wrapper class for pointers to entities.
Definition: common/entitypointer.hh:112
const Entity * operator->() const
Pointer operator.
Implementation realIterator
Definition: common/entitypointer.hh:137
EntityIterator()
default construct (undefined) iterator
Definition: entityiterator.hh:228
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition: common/entitypointer.hh:432
const IteratorImp::Entity value_type
Definition: entityiterator.hh:248
value_type * pointer
Definition: entityiterator.hh:249
bool operator==(const EntityIterator &rhs) const
Checks for equality.
Definition: entityiterator.hh:108
Grid abstract base classThis class is the base class for all grid implementations. Although no virtual functions are used we call it abstract since its methods do not contain an implementation but forward to the methods of the derived class via the Barton-Nackman trick.
Definition: common/grid.hh:388
interface class for an iterator over grid entitiesAn entity iterator is an iterator over a subset of ...
Definition: entityiterator.hh:35
Include standard header files.
Definition: agrid.hh:59
bool operator!=(const EntityIterator &rhs) const
Checks for inequality.
Definition: entityiterator.hh:114
Grid::template Codim< codim >::Entity Entity
Definition: entityiterator.hh:44
EntityIterator(const IteratorImp &imp)
copy constructor from implementaton
Definition: entityiterator.hh:232