Dune::HierarchicIterator< GridImp, HierarchicIteratorImp > Class Template Reference
[EntityPointer and Iterators]

#include <hierarchiciterator.hh>

Inheritance diagram for Dune::HierarchicIterator< GridImp, HierarchicIteratorImp >:

Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > > List of all members.

Detailed Description

template<class GridImp, template< class > class HierarchicIteratorImp>
class Dune::HierarchicIterator< GridImp, HierarchicIteratorImp >

Enables iteration over all codim zero entities in a subtree See also the documentation of Dune::EntityPointer.

Mesh entities of codimension 0 ("elements") allow to visit all entities of codimension 0 obtained through nested, hierarchic refinement of the entity. Iteration over this set of entities is provided by the HierarchicIterator, starting from a given entity. This is redundant but important for memory efficient implementations of unstructured hierarchically refined meshes.


Public Types

typedef GridImp::template
Codim< 0 >::Entity 
Entity
 The Entity that this EntityPointer can point to.
typedef HierarchicIteratorImp<
GridImp > 
ImplementationType
 type of real implementation
typedef Dune::EnableIfInterOperable<
typename HierarchicIteratorImp<
GridImp >::base, HierarchicIteratorImp<
GridImp >, typename HierarchicIteratorImp<
GridImp >::base >::type 
base
 autocheck wether imp is convertable into imp::base

Public Member Functions

HierarchicIteratoroperator++ ()
 Preincrement operator.
 operator EntityPointer ()
 Cast to EntityPointer with base class of implementation as engine. This conversion ensures assignablity of LevelIterator, LeafIterator and HierarchicIterator to EntityPointer.
 operator const EntityPointer () const
 Cast to EntityPointer with const base class of implementation as engine. This conversion ensures assignablity of LevelIterator, LeafIterator and HierarchicIterator to EntityPointer.
Entityoperator * () const
 Dereferencing operator.
Entityoperator-> () const
 Pointer operator.
bool operator== (const EntityPointer< GridImp, base > &rhs) const
 Checks for equality. Only works for EntityPointers and iterators on the same grid. Due to the conversion operators one can compare all kinds of iterators and EntityPointer.
bool operator!= (const EntityPointer< GridImp, base > &rhs) const
 Checks for inequality. Only works for EntityPointers and iterators on the same grid. Due to the conversion operators one can compare all kinds of iterators and EntityPointer.
int level () const
 Ask for level of entity. This method is redundant and is only there for efficiency reasons. It allows an implementation to return the level without actually constructing the entity.
bool equals (const EntityPointer &rhs) const
 Forward equality check to realIterator.

Protected Member Functions

ImplementationTypegetRealImp ()
 return reference to the real implementation
const ImplementationTypegetRealImp () const
 return reference to the real implementation

Member Function Documentation

template<class GridImp, template< class > class HierarchicIteratorImp>
HierarchicIterator& Dune::HierarchicIterator< GridImp, HierarchicIteratorImp >::operator++ (  )  [inline]

Preincrement operator.

Note:
Forwarded to LevelIteratorImp.increment()


The documentation for this class was generated from the following file:

Generated on 12 Dec 2007 with Doxygen (ver 1.5.1)