Dune Core Modules (unstable)

Information about the index distribution. More...

#include <dune/istl/owneroverlapcopy.hh>

Public Types

typedef G GlobalIdType
 The type of the global index.
 
typedef L LocalIdType
 The type of the local index.
 
typedef std::tuple< GlobalIdType, LocalIdType, int > IndexTripel
 A triple describing a local index. More...
 
typedef std::tuple< int, GlobalIdType, int > RemoteIndexTripel
 A triple describing a remote index. More...
 

Public Member Functions

void addLocalIndex (const IndexTripel &x)
 Add a new index triple to the set of local indices. More...
 
void addRemoteIndex (const RemoteIndexTripel &x)
 Add a new remote index triple to the set of remote indices. More...
 
const std::set< IndexTripel > & localIndices () const
 Get the set of indices local to the process. More...
 
const std::set< RemoteIndexTripel > & remoteIndices () const
 Get the set of remote indices. More...
 
void clear ()
 Remove all indices from the sets.
 

Detailed Description

template<class G, class L>
class Dune::IndexInfoFromGrid< G, L >

Information about the index distribution.

This class contains information about indices local to the process together with information about on which processes those indices are also present together with the attribute they have there.

This information might be used to set up an IndexSet together with an RemoteIndices object needed for the ISTL communication classes.

Member Typedef Documentation

◆ IndexTripel

template<class G , class L >
typedef std::tuple<GlobalIdType,LocalIdType,int> Dune::IndexInfoFromGrid< G, L >::IndexTripel

A triple describing a local index.

The triple consists of the global index and the local index and an attribute

◆ RemoteIndexTripel

template<class G , class L >
typedef std::tuple<int,GlobalIdType,int> Dune::IndexInfoFromGrid< G, L >::RemoteIndexTripel

A triple describing a remote index.

The triple consists of a process number and the global index and the attribute of the index at the remote process.

Member Function Documentation

◆ addLocalIndex()

template<class G , class L >
void Dune::IndexInfoFromGrid< G, L >::addLocalIndex ( const IndexTripel x)
inline

Add a new index triple to the set of local indices.

Parameters
xThe index triple.

References DUNE_THROW.

◆ addRemoteIndex()

template<class G , class L >
void Dune::IndexInfoFromGrid< G, L >::addRemoteIndex ( const RemoteIndexTripel x)
inline

Add a new remote index triple to the set of remote indices.

Parameters
xThe index triple to add.

References DUNE_THROW.

◆ localIndices()

template<class G , class L >
const std::set<IndexTripel>& Dune::IndexInfoFromGrid< G, L >::localIndices ( ) const
inline

Get the set of indices local to the process.

Returns
The set of local indices.

Referenced by Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::OwnerOverlapCopyCommunication().

◆ remoteIndices()

template<class G , class L >
const std::set<RemoteIndexTripel>& Dune::IndexInfoFromGrid< G, L >::remoteIndices ( ) const
inline

Get the set of remote indices.

Returns
the set of remote indices.

Referenced by Dune::OwnerOverlapCopyCommunication< GlobalIdType, LocalIdType >::OwnerOverlapCopyCommunication().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 28, 23:30, 2024)