dune-istl  2.7.0
Public Member Functions | 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. More...
 
 LevelIterator (std::shared_ptr< Element > element)
 
 LevelIterator (const LevelIterator< typename std::remove_const< C >::type, typename std::remove_const< T1 >::type > &other)
 Copy constructor. More...
 
 LevelIterator (const LevelIterator< const typename std::remove_const< C >::type, const typename std::remove_const< T1 >::type > &other)
 Copy constructor. More...
 
bool equals (const LevelIterator< typename std::remove_const< C >::type, typename std::remove_const< T1 >::type > &other) const
 Equality check. More...
 
bool equals (const LevelIterator< const typename std::remove_const< C >::type, const typename std::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 (std::shared_ptr< T1 > t)
 
void deleteRedistributed ()
 

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

◆ LevelIterator() [1/4]

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

Constructor.

◆ LevelIterator() [2/4]

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

◆ LevelIterator() [3/4]

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 std::remove_const< C >::type, typename std::remove_const< T1 >::type > &  other)
inline

Copy constructor.

◆ LevelIterator() [4/4]

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 std::remove_const< C >::type, const typename std::remove_const< T1 >::type > &  other)
inline

Copy constructor.

Member Function Documentation

◆ addRedistributed()

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

◆ decrement()

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.

◆ deleteRedistributed()

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

◆ dereference()

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.

◆ equals() [1/2]

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 std::remove_const< C >::type, const typename std::remove_const< T1 >::type > &  other) const
inline

Equality check.

◆ equals() [2/2]

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 std::remove_const< C >::type, typename std::remove_const< T1 >::type > &  other) const
inline

Equality check.

◆ getRedistributed()

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.

◆ increment()

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.

◆ isRedistributed()

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 container at the current level.

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