dune-common 2.1.1
Classes | Public Types | Public Member Functions
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>

List of all members.

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: