Loading...
Searching...
No Matches
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>`

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

## Public Member Functions

| LevelIterator ()=default
| Constructor.
| LevelIterator (std::shared_ptr< Element > element)
template<class C_, class T1_, std::enable_if_t< std::is_same_v< std::remove_const_t< C >, std::remove_const_t< C_ > >, int > = 0, std::enable_if_t< std::is_same_v< std::remove_const_t< T1 >, std::remove_const_t< T1_ > >, int > = 0>
| LevelIterator (const LevelIterator< C_, T1_ > &other)
| Copy constructor.
template<class C_, class T1_, std::enable_if_t< std::is_same_v< std::remove_const_t< C >, std::remove_const_t< C_ > >, int > = 0, std::enable_if_t< std::is_same_v< std::remove_const_t< T1 >, std::remove_const_t< T1_ > >, int > = 0>
LevelIterator & | operator= (const LevelIterator< C_, T1_ > &other)
bool | equals (const LevelIterator< typename std::remove_const< C >::type, typename std::remove_const< T1 >::type > &other) const
| Equality check.
bool | equals (const LevelIterator< const typename std::remove_const< C >::type, const typename std::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 (std::shared_ptr< T1 > t)
void | deleteRedistributed ()

## Friends

class | LevelIterator< typename std::remove_const< C >::type, typename std::remove_const< T1 >::type >
class | LevelIterator< const typename std::remove_const< C >::type, const typename std::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

## LevelIterator() [1/3]

template<typename T, typename A = std::allocator<T>>
template<class C, class T1>

Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::LevelIterator | ( |  | ) |

default

Constructor.

## LevelIterator() [2/3]

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/3]

template<typename T, typename A = std::allocator<T>>
template<class C, class T1>
template<class C_, class T1_, std::enable_if_t< std::is_same_v< std::remove_const_t< C >, std::remove_const_t< C_ > >, int > = 0, std::enable_if_t< std::is_same_v< std::remove_const_t< T1 >, std::remove_const_t< T1_ > >, int > = 0>

Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::LevelIterator | ( | const LevelIterator< C_, T1_ > & | 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.

## operator=()

template<typename T, typename A = std::allocator<T>>
template<class C, class T1>
template<class C_, class T1_, std::enable_if_t< std::is_same_v< std::remove_const_t< C >, std::remove_const_t< C_ > >, int > = 0, std::enable_if_t< std::is_same_v< std::remove_const_t< T1 >, std::remove_const_t< T1_ > >, int > = 0>

LevelIterator & Dune::Amg::Hierarchy< T, A >::LevelIterator< C, T1 >::operator= | ( | const LevelIterator< C_, T1_ > & | other | ) |

inline

## Friends And Related Symbol Documentation

## LevelIterator< const typename std::remove_const< C >::type, const typename std::remove_const< T1 >::type >

template<typename T, typename A = std::allocator<T>>
template<class C, class T1>

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

friend

## LevelIterator< typename std::remove_const< C >::type, typename std::remove_const< T1 >::type >

template<typename T, typename A = std::allocator<T>>
template<class C, class T1>

friend class LevelIterator< typename std::remove_const< C >::type, typename std::remove_const< T1 >::type >

friend

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

- hierarchy.hh