A collective iterator for moving over the remote indices for all processes collectively. More...
#include <dune/istl/remoteindices.hh>
Classes | |
class | iterator |
Iterator over the valid underlying iterators. More... | |
Public Types | |
typedef std::map< int, std::pair< RemoteIndexList *, RemoteIndexList * > > | RemoteIndexMap |
The type of the map from rank to remote index list. | |
Public Member Functions | |
CollectiveIterator (const RemoteIndexMap &map_, bool send) | |
Constructor. | |
void | advance (const GlobalIndex &global) |
Advances all underlying iterators. | |
bool | empty () |
Checks whether there are still iterators in the map. | |
iterator | begin () |
iterator | end () |
A collective iterator for moving over the remote indices for all processes collectively.
typedef std::map<int, std::pair<RemoteIndexList*,RemoteIndexList*> > Dune::CollectiveIterator< T, A >::RemoteIndexMap |
The type of the map from rank to remote index list.
Dune::CollectiveIterator< T, A >::CollectiveIterator | ( | const RemoteIndexMap & | map_, | |
bool | send | |||
) | [inline] |
Constructor.
map_ | The map of the remote indices. | |
send | True if we want iterate over the remote indices used for sending. |
void Dune::CollectiveIterator< T, A >::advance | ( | const GlobalIndex & | global | ) | [inline] |
Advances all underlying iterators.
All iterators are advaced until the point to an remote index whose global id is bigger or equal to global. Iterators pointing to their end are removed.
global | The index we search for. |
CollectiveIterator< T, A >::iterator Dune::CollectiveIterator< T, A >::begin | ( | ) | [inline] |
bool Dune::CollectiveIterator< T, A >::empty | ( | ) | [inline] |
Checks whether there are still iterators in the map.
CollectiveIterator< T, A >::iterator Dune::CollectiveIterator< T, A >::end | ( | ) | [inline] |