dune-istl  2.2.0
Public Member Functions | Friends | List of all members
Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 > Class Template Reference

Iterator over the levels in the hierarchy. More...

#include <dune/istl/paamg/hierarchy.hh>

Public Member Functions

 LevelIterator ()
 Constructor.
 LevelIterator (Element *element)
 LevelIterator (const LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type > &other)
 Copy constructor.
 LevelIterator (const LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type > &other)
 Copy constructor.
bool equals (const LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type > &other) const
 Equality check.
bool equals (const LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type > &other) const
 Equality check.
T1 & dereference () const
 Dereference the iterator.
void increment ()
 Move to the next coarser level.
void decrement ()
 Move to the next fine level.
bool isRedistributed () const
 Check whether there was a redistribution at the current level.
T1 & getRedistributed () const
 Get the redistributed container.
void addRedistributed (T1 *t)
void deleteRedistributed ()

Friends

class LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type >
class LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type >

Detailed Description

template<typename T, typename A = std::allocator<T>>
template<class C, class T1>
class Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >

Iterator over the levels in the hierarchy.

operator++() moves to the next coarser level in the hierarchy. while operator–() moves to the next finer level in the hierarchy.

Constructor & Destructor Documentation

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::LevelIterator ( )
inline

Constructor.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::LevelIterator ( Element *  element)
inline
template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::LevelIterator ( const LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type > &  other)
inline

Copy constructor.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::LevelIterator ( const LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type > &  other)
inline

Copy constructor.

Member Function Documentation

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
void Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::addRedistributed ( T1 *  t)
inline
template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
void Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::decrement ( )
inline

Move to the next fine level.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
void Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::deleteRedistributed ( )
inline
template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
T1& Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::dereference ( ) const
inline

Dereference the iterator.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
bool Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::equals ( const LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type > &  other) const
inline

Equality check.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
bool Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::equals ( const LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type > &  other) const
inline

Equality check.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
T1& Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::getRedistributed ( ) const
inline

Get the redistributed container.

Returns
The redistributed container.
template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
void Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::increment ( )
inline

Move to the next coarser level.

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
bool Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::isRedistributed ( ) const
inline

Check whether there was a redistribution at the current level.

Returns
True if there is a redistributed version of the conatainer at the current level.

Friends And Related Function Documentation

template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
friend class LevelIterator< const typename remove_const< C >::type,const typename remove_const< T1 >::type >
friend
template<typename T, typename A = std::allocator<T>>
template<class C , class T1 >
friend class LevelIterator< typename remove_const< C >::type,typename remove_const< T1 >::type >
friend

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