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

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

#include <dune/grid/common/hierarchiciterator.hh>

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

List of all members.

Public Types

typedef GridImp::template
Codim< codim >::Entity 
Entity
 The Entity that this EntityPointer can point to.
enum  
 

codimension of entity pointer

More...
enum  
typedef HierarchicIteratorImp
< GridImp > 
ImplementationType
 type of real implementation

Public Member Functions

HierarchicIteratoroperator++ ()
 Preincrement operator.
Implementor interface

 HierarchicIterator (const HierarchicIteratorImp< const GridImp > &i)
 copy constructor from HierarchicIteratorImp
Constructor & conversion

 operator const EntityPointer< GridImp, base > & () const
 Cast to EntityPointer with const base class of implementation as engine.
void compactify ()
Dereferencing

Entityoperator* () const
 Dereferencing operator.
Entityoperator-> () const
 Pointer operator.
Compare methods

bool operator== (const EntityPointer< GridImp, ItImp > &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, ItImp > &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.
Query methods

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.
Implementor interface

bool equals (const EntityPointer< GridImp, ItImp > &rhs) const
 Forward equality check to realIterator.

Protected Types

typedef
Dune::EnableIfInterOperable
< typename
HierarchicIteratorImp< GridImp >
::EntityPointerImp,
HierarchicIteratorImp< GridImp >
, typename
HierarchicIteratorImp< GridImp >
::EntityPointerImp >::type 
base

Protected Member Functions

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

Protected Attributes

HierarchicIteratorImp< GridImp > realIterator

Friends

class Dune::GenericLeafIterator< GridImp >
class GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld, typename GridImp::ctype, typename GridImp::GridFamily >

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.

Note:
The HierarchicIterator interface is deprecated. Use the EntityIterator interface instead.

Member Typedef Documentation

typedef Dune::EnableIfInterOperable<typename HierarchicIteratorImp< GridImp > ::EntityPointerImp,HierarchicIteratorImp< GridImp > , typename HierarchicIteratorImp< GridImp > ::EntityPointerImp>::type Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::base [protected, inherited]
typedef GridImp ::template Codim< codim >::Entity Dune::EntityIterator< codim, GridImp , HierarchicIteratorImp< GridImp > >::Entity [inherited]

The Entity that this EntityPointer can point to.

Reimplemented from Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >.

typedef HierarchicIteratorImp< GridImp > Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::ImplementationType [inherited]

type of real implementation


Member Enumeration Documentation

anonymous enum [inherited]

codimension of entity pointer

anonymous enum [inherited]

Constructor & Destructor Documentation

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

copy constructor from HierarchicIteratorImp

Deprecated:

Member Function Documentation

void Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::compactify (  )  [inline, inherited]
Deprecated:
Reduce the entity pointers used memory to a minimum necessary to store all needed information.

Use EntitySeed to store entity information.

Deprecated:
bool Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::equals ( const EntityPointer< GridImp, ItImp > &  rhs  )  const [inline, inherited]

Forward equality check to realIterator.

const ImplementationType& Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::getRealImp (  )  const [inline, protected, inherited]

return reference to the real implementation

ImplementationType& Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::getRealImp (  )  [inline, protected, inherited]

return reference to the real implementation

int Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::level (  )  const [inline, inherited]

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.

Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::operator const EntityPointer< GridImp, base > & (  )  const [inline, inherited]

Cast to EntityPointer with const base class of implementation as engine.

Note:
This cast is no longer needed to ensure assignability of iterators to EntityPointer.
Deprecated:
bool Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::operator!= ( const EntityPointer< GridImp, ItImp > &  rhs  )  const [inline, inherited]

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.

Entity& Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::operator* (  )  const [inline, inherited]

Dereferencing operator.

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

Preincrement operator.

Note:
Forwarded to LevelIteratorImp.increment()

Reimplemented from Dune::EntityIterator< 0, GridImp, HierarchicIteratorImp< GridImp > >.

Entity* Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::operator-> (  )  const [inline, inherited]

Pointer operator.

bool Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::operator== ( const EntityPointer< GridImp, ItImp > &  rhs  )  const [inline, inherited]

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.


Friends And Related Function Documentation

friend class Dune::GenericLeafIterator< GridImp > [friend, inherited]
friend class GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld,typename GridImp::ctype,typename GridImp::GridFamily > [friend, inherited]

Member Data Documentation

HierarchicIteratorImp< GridImp > Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::realIterator [protected, inherited]

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

Generated on Fri Apr 29 2011 with Doxygen (ver 1.7.1) [doxygen-log,error-log].