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.")
203 bool operator==(const Entity& rhs)
const
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.")
217 bool operator!=(const Entity& rhs)
const
219 return (**
this) != rhs;
244 template<
int codim,
class Gr
id,
class IteratorImp >
245 struct iterator_traits<
Dune::EntityIterator< codim, Grid, IteratorImp > >
256 #endif // #ifndef DUNE_GRID_ENTITYITERATOR_HH
bool operator!=(const EntityIterator &rhs) const
Checks for inequality.
Definition: entityiterator.hh:114
EntityIterator(const IteratorImp &imp)
copy constructor from implementaton
Definition: entityiterator.hh:232
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
value_type * pointer
Definition: entityiterator.hh:249
Wrapper class for pointers to entities.
Definition: common/entitypointer.hh:112
Grid::template Codim< codim >::Entity Entity
Definition: entityiterator.hh:44
const Entity * operator->() const
Pointer operator.
EntityIterator()
default construct (undefined) iterator
Definition: entityiterator.hh:228
bool operator==(const EntityIterator &rhs) const
Checks for equality.
Definition: entityiterator.hh:108
Wrapper and interface class for a static iterator (EntityPointer)
EntityIterator & operator++()
prefix increment operator
Definition: entityiterator.hh:47
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
ptrdiff_t difference_type
Definition: entityiterator.hh:247
interface class for an iterator over grid entitiesAn entity iterator is an iterator over a subset of ...
Definition: entityiterator.hh:35
value_type & reference
Definition: entityiterator.hh:250
const Entity & operator*() const
Dereferencing operator.
const IteratorImp::Entity value_type
Definition: entityiterator.hh:248
bool equals(const EntityPointer< Grid, ItImp > &rhs) const
Forward equality check to realIterator.
Definition: common/entitypointer.hh:362
Include standard header files.
Definition: agrid.hh:59
forward_iterator_tag iterator_category
Definition: entityiterator.hh:251
Implementation realIterator
Definition: common/entitypointer.hh:137