dune-common 2.9.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | List of all members
Dune::CollectiveIterator< T, A > Class Template Reference

A collective iterator for moving over the remote indices for all processes collectively. More...

#include <dune/common/parallel/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.
 
void advance (const GlobalIndex &global, const Attribute &attribute)
 Advances all underlying iterators.
 
CollectiveIteratoroperator++ ()
 
bool empty () const
 Checks whether there are still iterators in the map.
 
iterator begin ()
 
iterator end ()
 

Detailed Description

template<class T, class A>
class Dune::CollectiveIterator< T, A >

A collective iterator for moving over the remote indices for all processes collectively.

Member Typedef Documentation

◆ RemoteIndexMap

template<class T , class A >
typedef std::map<int, std::pair<RemoteIndexList*,RemoteIndexList*> > Dune::CollectiveIterator< T, A >::RemoteIndexMap

The type of the map from rank to remote index list.

Constructor & Destructor Documentation

◆ CollectiveIterator()

template<typename T , typename A >
Dune::CollectiveIterator< T, A >::CollectiveIterator ( const RemoteIndexMap map_,
bool  send 
)
inline

Constructor.

Parameters
map_The map of the remote indices.
sendTrue if we want iterate over the remote indices used for sending.

Member Function Documentation

◆ advance() [1/2]

template<typename T , typename A >
void Dune::CollectiveIterator< T, A >::advance ( const GlobalIndex &  global)
inline

Advances all underlying iterators.

All iterators are advanced until they point to a remote index whose global id is bigger or equal to global. Iterators pointing to their end are removed.

Parameters
globalThe index we search for.

◆ advance() [2/2]

template<typename T , typename A >
void Dune::CollectiveIterator< T, A >::advance ( const GlobalIndex &  global,
const Attribute &  attribute 
)
inline

Advances all underlying iterators.

All iterators are advanced until they point to a remote index whose global id is bigger or equal to global. Iterators pointing to their end are removed.

Parameters
globalThe index we search for.
attributeThe attribute we search for.

◆ begin()

template<typename T , typename A >
CollectiveIterator< T, A >::iterator Dune::CollectiveIterator< T, A >::begin ( )
inline

◆ empty()

template<typename T , typename A >
bool Dune::CollectiveIterator< T, A >::empty ( ) const
inline

Checks whether there are still iterators in the map.

◆ end()

template<typename T , typename A >
CollectiveIterator< T, A >::iterator Dune::CollectiveIterator< T, A >::end ( )
inline

◆ operator++()

template<typename T , typename A >
CollectiveIterator< T, A > & Dune::CollectiveIterator< T, A >::operator++ ( )
inline

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