dune-common  2.2.1
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 ()
 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

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

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.

References Dune::SLList< T, A >::begin(), and Dune::SLList< T, A >::end().

Member Function Documentation

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.
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.
template<typename T , typename A >
CollectiveIterator< T, A >::iterator Dune::CollectiveIterator< T, A >::begin ( )
inline
template<typename T , typename A >
bool Dune::CollectiveIterator< T, A >::empty ( )
inline

Checks whether there are still iterators in the map.

template<typename T , typename A >
CollectiveIterator< T, A >::iterator Dune::CollectiveIterator< T, A >::end ( )
inline
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: