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

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

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

Inheritance diagram for Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >:
Inheritance graph

Public Member Functions

 LevelIterator ()
 Constructor. More...
 
 LevelIterator (Element *element)
 
 LevelIterator (const LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type > &other)
 Copy constructor. More...
 
 LevelIterator (const LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type > &other)
 Copy constructor. More...
 
bool equals (const LevelIterator< typename remove_const< C >::type, typename remove_const< T1 >::type > &other) const
 Equality check. More...
 
bool equals (const LevelIterator< const typename remove_const< C >::type, const typename remove_const< T1 >::type > &other) const
 Equality check. More...
 
T1 & dereference () const
 Dereference the iterator. More...
 
void increment ()
 Move to the next coarser level. More...
 
void decrement ()
 Move to the next fine level. More...
 
bool isRedistributed () const
 Check whether there was a redistribution at the current level. More...
 
T1 & getRedistributed () const
 Get the redistributed container. More...
 
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<typename T1, typename T2>
class Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >

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<typename T1 , typename T2 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::LevelIterator ( )
inline

Constructor.

template<typename T, typename A = std::allocator<T>>
template<typename T1 , typename T2 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::LevelIterator ( Element *  element)
inline
template<typename T, typename A = std::allocator<T>>
template<typename T1 , typename T2 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::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<typename T1 , typename T2 >
Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::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<typename T1 , typename T2 >
void Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::addRedistributed ( T1 *  t)
inline
template<typename T, typename A = std::allocator<T>>
template<typename T1 , typename T2 >
void Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::decrement ( )
inline

Move to the next fine level.

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

Dereference the iterator.

template<typename T, typename A = std::allocator<T>>
template<typename T1 , typename T2 >
bool Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::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<typename T1 , typename T2 >
bool Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::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<typename T1 , typename T2 >
T1& Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::getRedistributed ( ) const
inline

Get the redistributed container.

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

Move to the next coarser level.

template<typename T, typename A = std::allocator<T>>
template<typename T1 , typename T2 >
bool Dune::Amg::Hierarchy< T, A >::LevelIterator< T1, T2 >::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<typename T1 , typename T2 >
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<typename T1 , typename T2 >
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: