dune-grid  2.1.1
Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Friends
Dune::HierarchicIterator< GridImp, HierarchicIteratorImp > Class Template Reference

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.

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

return reference to the real implementation

const ImplementationType& Dune::EntityPointer< GridImp, HierarchicIteratorImp< GridImp > >::getRealImp ( ) const [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: