dune-common  2.7.0
Files | Classes | Typedefs | Enumerations | Enumerator | Functions
Common_Parallel

Files

file  indexset.hh
 Provides a map between global and local indices.
 
file  localindex.hh
 Provides classes for use as the local index in ParallelIndexSet.
 
file  plocalindex.hh
 Provides classes for use as the local index in ParallelIndexSet for distributed computing.
 
file  selection.hh
 Provides classes for selecting indices based on attribute flags.
 

Classes

class  Dune::IndexPair< TG, TL >
 A pair consisting of a global and local index. More...
 
struct  Dune::MPITraits< T >
 
class  Dune::InvalidIndexSetState
 Exception indicating that the index set is not in the expected state. More...
 
class  Dune::GlobalLookupIndexSet< I >
 Decorates an index set with the possibility to find a global index that is mapped to a specific local. More...
 
class  Dune::ParallelIndexSet< TG, TL, N >::iterator
 The iterator over the pairs. More...
 
class  Dune::ParallelIndexSet< TG, TL, N >
 Manager class for the mapping between local indices and globally unique indices. More...
 
struct  Dune::LocalIndexComparator< T >
 
struct  Dune::IndexSetSortFunctor< TG, TL >
 
class  Dune::LocalIndex
 An index present on the local process. More...
 
class  Dune::ParallelLocalIndex< T >
 An index present on the local process with an additional attribute flag. More...
 
struct  Dune::LocalIndexComparator< ParallelLocalIndex< T > >
 
class  Dune::SelectionIterator< TS, TG, TL, N >
 A const iterator over an uncached selection. More...
 
class  Dune::UncachedSelection< TS, TG, TL, N >
 An uncached selection of indices. More...
 
class  Dune::Selection< TS, TG, TL, N >
 A cached selection of indices. More...
 

Typedefs

typedef TG Dune::IndexPair< TG, TL >::GlobalIndex
 the type of the global index. More...
 
typedef TL Dune::IndexPair< TG, TL >::LocalIndex
 the type of the local index. More...
 
typedef TG Dune::ParallelIndexSet< TG, TL, N >::GlobalIndex
 the type of the global index. This type has to provide at least a operator< for sorting. More...
 
typedef TL Dune::ParallelIndexSet< TG, TL, N >::LocalIndex
 The type of the local index, e.g. ParallelLocalIndex. More...
 
typedef Dune::IndexPair< GlobalIndex, LocalIndexDune::ParallelIndexSet< TG, TL, N >::IndexPair
 The type of the pair stored. More...
 
typedef ArrayList< IndexPair, N >::const_iterator Dune::ParallelIndexSet< TG, TL, N >::const_iterator
 The constant iterator over the pairs. More...
 
typedef I Dune::GlobalLookupIndexSet< I >::ParallelIndexSet
 The type of the index set. More...
 
typedef ParallelIndexSet::LocalIndex Dune::GlobalLookupIndexSet< I >::LocalIndex
 The type of the local index. More...
 
typedef ParallelIndexSet::GlobalIndex Dune::GlobalLookupIndexSet< I >::GlobalIndex
 The type of the global index. More...
 
typedef ParallelIndexSet::const_iterator Dune::GlobalLookupIndexSet< I >::const_iterator
 The iterator over the index pairs. More...
 
typedef Dune::IndexPair< typename I::GlobalIndex, typename I::LocalIndex > Dune::GlobalLookupIndexSet< I >::IndexPair
 

Enumerations

enum  Dune::ParallelIndexSetState { Dune::GROUND, Dune::RESIZE }
 The states the index set can be in. More...
 
enum  { Dune::ParallelIndexSet< TG, TL, N >::arraySize = (N>0) ? N : 1 }
 
enum  Dune::LocalIndexState { Dune::VALID, Dune::DELETED }
 The states avaiable for the local indices. More...
 

Functions

template<class TG , class TL >
std::ostream & Dune::operator<< (std::ostream &os, const IndexPair< TG, TL > &pair)
 Print an index pair. More...
 
template<class TG , class TL >
bool Dune::operator== (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &)
 
template<class TG , class TL >
bool Dune::operator!= (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &)
 
template<class TG , class TL >
bool Dune::operator< (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &)
 
template<class TG , class TL >
bool Dune::operator> (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &)
 
template<class TG , class TL >
bool Dune::operator<= (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &)
 
template<class TG , class TL >
bool Dune::operator>= (const IndexPair< TG, TL > &, const IndexPair< TG, TL > &)
 
template<class TG , class TL >
bool Dune::operator== (const IndexPair< TG, TL > &, const TG &)
 
template<class TG , class TL >
bool Dune::operator!= (const IndexPair< TG, TL > &, const TG &)
 
template<class TG , class TL >
bool Dune::operator< (const IndexPair< TG, TL > &, const TG &)
 
template<class TG , class TL >
bool Dune::operator> (const IndexPair< TG, TL > &, const TG &)
 
template<class TG , class TL >
bool Dune::operator<= (const IndexPair< TG, TL > &, const TG &)
 
template<class TG , class TL >
bool Dune::operator>= (const IndexPair< TG, TL > &, const TG &)
 
 Dune::IndexPair< TG, TL >::IndexPair (const GlobalIndex &global, const LocalIndex &local)
 Constructs a new Pair. More...
 
 Dune::IndexPair< TG, TL >::IndexPair ()
 Construct a new Pair. More...
 
 Dune::IndexPair< TG, TL >::IndexPair (const GlobalIndex &global)
 Constructs a new Pair. More...
 
const GlobalIndexDune::IndexPair< TG, TL >::global () const
 Get the global index. More...
 
LocalIndexDune::IndexPair< TG, TL >::local ()
 Get the local index. More...
 
const LocalIndexDune::IndexPair< TG, TL >::local () const
 Get the local index. More...
 
void Dune::IndexPair< TG, TL >::setLocal (int index)
 Set the local index. More...
 
 Dune::ParallelIndexSet< TG, TL, N >::iterator::iterator (ParallelIndexSet< TG, TL, N > &indexSet, const Father &father)
 
 Dune::ParallelIndexSet< TG, TL, N >::ParallelIndexSet ()
 Constructor. More...
 
const ParallelIndexSetStateDune::ParallelIndexSet< TG, TL, N >::state ()
 Get the state the index set is in. More...
 
void Dune::ParallelIndexSet< TG, TL, N >::beginResize ()
 Indicate that the index set is to be resized. More...
 
void Dune::ParallelIndexSet< TG, TL, N >::add (const GlobalIndex &global)
 Add an new index to the set. More...
 
void Dune::ParallelIndexSet< TG, TL, N >::add (const GlobalIndex &global, const LocalIndex &local)
 Add an new index to the set. More...
 
void Dune::ParallelIndexSet< TG, TL, N >::markAsDeleted (const iterator &position)
 Mark an index as deleted. More...
 
void Dune::ParallelIndexSet< TG, TL, N >::endResize ()
 Indicate that the resizing finishes. More...
 
IndexPairDune::ParallelIndexSet< TG, TL, N >::operator[] (const GlobalIndex &global)
 Find the index pair with a specific global id. More...
 
IndexPairDune::ParallelIndexSet< TG, TL, N >::at (const GlobalIndex &global)
 Find the index pair with a specific global id. More...
 
bool Dune::ParallelIndexSet< TG, TL, N >::exists (const GlobalIndex &global) const
 Find the index pair with a specific global id. More...
 
const IndexPairDune::ParallelIndexSet< TG, TL, N >::operator[] (const GlobalIndex &global) const
 Find the index pair with a specific global id. More...
 
const IndexPairDune::ParallelIndexSet< TG, TL, N >::at (const GlobalIndex &global) const
 Find the index pair with a specific global id. More...
 
iterator Dune::ParallelIndexSet< TG, TL, N >::begin ()
 Get an iterator over the indices positioned at the first index. More...
 
iterator Dune::ParallelIndexSet< TG, TL, N >::end ()
 Get an iterator over the indices positioned after the last index. More...
 
const_iterator Dune::ParallelIndexSet< TG, TL, N >::begin () const
 Get an iterator over the indices positioned at the first index. More...
 
const_iterator Dune::ParallelIndexSet< TG, TL, N >::end () const
 Get an iterator over the indices positioned after the last index. More...
 
void Dune::ParallelIndexSet< TG, TL, N >::renumberLocal ()
 Renumbers the local index numbers. More...
 
int Dune::ParallelIndexSet< TG, TL, N >::seqNo () const
 Get the internal sequence number. More...
 
size_t Dune::ParallelIndexSet< TG, TL, N >::size () const
 Get the total number (public and nonpublic) indices. More...
 
template<class TG , class TL , int N>
std::ostream & Dune::operator<< (std::ostream &os, const ParallelIndexSet< TG, TL, N > &indexSet)
 Print an index set. More...
 
 Dune::GlobalLookupIndexSet< I >::GlobalLookupIndexSet (const ParallelIndexSet &indexset, std::size_t size)
 Constructor. More...
 
 Dune::GlobalLookupIndexSet< I >::GlobalLookupIndexSet (const ParallelIndexSet &indexset)
 Constructor. More...
 
 Dune::GlobalLookupIndexSet< I >::~GlobalLookupIndexSet ()
 Destructor. More...
 
const IndexPairDune::GlobalLookupIndexSet< I >::operator[] (const GlobalIndex &global) const
 Find the index pair with a specific global id. More...
 
const IndexPairDune::GlobalLookupIndexSet< I >::pair (const std::size_t &local) const
 Get the index pair corresponding to a local index. More...
 
const_iterator Dune::GlobalLookupIndexSet< I >::begin () const
 Get an iterator over the indices positioned at the first index. More...
 
const_iterator Dune::GlobalLookupIndexSet< I >::end () const
 Get an iterator over the indices positioned after the last index. More...
 
int Dune::GlobalLookupIndexSet< I >::seqNo () const
 Get the internal sequence number. More...
 
size_t Dune::GlobalLookupIndexSet< I >::size () const
 Get the total number (public and nonpublic) indices. More...
 
static bool Dune::LocalIndexComparator< T >::compare (const T &t1, const T &t2)
 
bool Dune::IndexSetSortFunctor< TG, TL >::operator() (const IndexPair< TG, TL > &i1, const IndexPair< TG, TL > &i2)
 
template<class T >
std::ostream & Dune::operator<< (std::ostream &os, const ParallelLocalIndex< T > &index)
 Print the local index to a stream. More...
 
template<typename T >
bool Dune::operator== (const ParallelLocalIndex< T > &p1, const ParallelLocalIndex< T > &p2)
 
template<typename T >
bool Dune::operator!= (const ParallelLocalIndex< T > &p1, const ParallelLocalIndex< T > &p2)
 
const std::size_t & Dune::LocalIndex::local () const
 get the local index. More...
 
 Dune::LocalIndex::operator std::size_t () const
 Convert to the local index represented by an int. More...
 
LocalIndexDune::LocalIndex::operator= (std::size_t index)
 Assign a new local index. More...
 
LocalIndexState Dune::LocalIndex::state () const
 Get the state. More...
 
void Dune::LocalIndex::setState (LocalIndexState state)
 Set the state. More...
 
 Dune::ParallelLocalIndex< T >::ParallelLocalIndex (const Attribute &attribute, bool isPublic)
 Constructor. More...
 
 Dune::ParallelLocalIndex< T >::ParallelLocalIndex (size_t localIndex, const Attribute &attribute, bool isPublic=true)
 Constructor. More...
 
 Dune::ParallelLocalIndex< T >::ParallelLocalIndex ()
 Parameterless constructor. More...
 
const Attribute Dune::ParallelLocalIndex< T >::attribute () const
 Get the attribute of the index. More...
 
void Dune::ParallelLocalIndex< T >::setAttribute (const Attribute &attribute)
 Set the attribute of the index. More...
 
size_t Dune::ParallelLocalIndex< T >::local () const
 get the local index. More...
 
 Dune::ParallelLocalIndex< T >::operator size_t () const
 Convert to the local index represented by an int. More...
 
ParallelLocalIndex< Attribute > & Dune::ParallelLocalIndex< T >::operator= (size_t index)
 Assign a new local index. More...
 
bool Dune::ParallelLocalIndex< T >::isPublic () const
 Check whether the index might also be known other processes. More...
 
LocalIndexState Dune::ParallelLocalIndex< T >::state () const
 Get the state. More...
 
void Dune::ParallelLocalIndex< T >::setState (const LocalIndexState &state)
 Set the state. More...
 
void Dune::Selection< TS, TG, TL, N >::setIndexSet (const ParallelIndexSet &indexset)
 Set the index set of the selection. More...
 
const_iterator Dune::Selection< TS, TG, TL, N >::begin () const
 Get the index set we are a selection for. More...
 
const_iterator Dune::Selection< TS, TG, TL, N >::end () const
 Get an iterator over the selected indices. More...
 
void Dune::Selection< TS, TG, TL, N >::free ()
 Free allocated memory. More...
 
 Dune::Selection< TS, TG, TL, N >::~Selection ()
 
const_iterator Dune::UncachedSelection< TS, TG, TL, N >::begin () const
 Get the index set we are a selection for. More...
 
const_iterator Dune::UncachedSelection< TS, TG, TL, N >::end () const
 Get an iterator over the selected indices. More...
 
void Dune::UncachedSelection< TS, TG, TL, N >::setIndexSet (const ParallelIndexSet &indexset)
 Set the index set of the selection. More...
 

Detailed Description

Typedef Documentation

◆ const_iterator [1/2]

template<typename TG , typename TL , int N = 100>
typedef ArrayList<IndexPair,N>::const_iterator Dune::ParallelIndexSet< TG, TL, N >::const_iterator

The constant iterator over the pairs.

◆ const_iterator [2/2]

The iterator over the index pairs.

◆ GlobalIndex [1/3]

template<class TG , class TL >
typedef TG Dune::IndexPair< TG, TL >::GlobalIndex

the type of the global index.

This type has to provide at least a operator< for sorting.

◆ GlobalIndex [2/3]

template<typename TG , typename TL , int N = 100>
typedef TG Dune::ParallelIndexSet< TG, TL, N >::GlobalIndex

the type of the global index. This type has to provide at least a operator< for sorting.

◆ GlobalIndex [3/3]

The type of the global index.

◆ IndexPair [1/2]

template<typename TG , typename TL , int N = 100>
typedef Dune::IndexPair<GlobalIndex,LocalIndex> Dune::ParallelIndexSet< TG, TL, N >::IndexPair

The type of the pair stored.

◆ IndexPair [2/2]

template<class I >
typedef Dune::IndexPair<typename I::GlobalIndex, typename I::LocalIndex> Dune::GlobalLookupIndexSet< I >::IndexPair

◆ LocalIndex [1/3]

template<class TG , class TL >
typedef TL Dune::IndexPair< TG, TL >::LocalIndex

the type of the local index.

This class to provide the following functions:

LocalIndex operator=(int);
operator int() const;
LocalIndexState state() const;
void setState(LocalIndexState);

◆ LocalIndex [2/3]

template<typename TG , typename TL , int N = 100>
typedef TL Dune::ParallelIndexSet< TG, TL, N >::LocalIndex

The type of the local index, e.g. ParallelLocalIndex.

This class to provide the following functions:

LocalIndex operator=(int);
operator int() const;
void setState(LocalIndexState);

◆ LocalIndex [3/3]

The type of the local index.

◆ ParallelIndexSet

template<class I >
typedef I Dune::GlobalLookupIndexSet< I >::ParallelIndexSet

The type of the index set.

Enumeration Type Documentation

◆ anonymous enum

template<typename TG , typename TL , int N = 100>
anonymous enum
Enumerator
arraySize 

The size of the individual arrays in the underlying ArrayList.

The default value is 100.

See also
ArrayList::size

◆ LocalIndexState

The states avaiable for the local indices.

See also
LocalIndex::state()
Enumerator
VALID 
DELETED 

◆ ParallelIndexSetState

The states the index set can be in.

See also
ParallelIndexSet::state_
Enumerator
GROUND 

The default mode. Indicates that the index set is ready to be used.

RESIZE 

Indicates that the index set is currently being resized.

Indicates that all previously deleted indices are now deleted.

CLEAN,

Indicates that the index set is currently being reordered.

REORDER

Function Documentation

◆ add() [1/2]

template<typename TG , typename TL , int N = 100>
void Dune::ParallelIndexSet< TG, TL, N >::add ( const GlobalIndex global)
inline

Add an new index to the set.

The local index is created by the default constructor.

Parameters
globalThe globally unique id of the index.
Exceptions
InvalidStateIf index set is not in ParallelIndexSetState::RESIZE mode.

◆ add() [2/2]

template<typename TG , typename TL , int N = 100>
void Dune::ParallelIndexSet< TG, TL, N >::add ( const GlobalIndex global,
const LocalIndex local 
)
inline

Add an new index to the set.

Parameters
globalThe globally unique id of the index.
localThe local index.
Exceptions
InvalidStateIf index set is not in ParallelIndexSetState::RESIZE mode.

◆ at() [1/2]

template<typename TG , typename TL , int N = 100>
IndexPair& Dune::ParallelIndexSet< TG, TL, N >::at ( const GlobalIndex global)
inline

Find the index pair with a specific global id.

This starts a binary search for the entry and therefore has complexity log(N).

Parameters
globalThe globally unique id of the pair.
Returns
The pair of indices for the id.
Exceptions
RangeErrorThrown if the global id is not known.

◆ at() [2/2]

template<typename TG , typename TL , int N = 100>
const IndexPair& Dune::ParallelIndexSet< TG, TL, N >::at ( const GlobalIndex global) const
inline

Find the index pair with a specific global id.

This starts a binary search for the entry and therefore has complexity log(N).

Parameters
globalThe globally unique id of the pair.
Returns
The pair of indices for the id.
Exceptions
RangeErrorThrown if the global id is not known.

◆ attribute()

template<class T >
const T Dune::ParallelLocalIndex< T >::attribute
inline

Get the attribute of the index.

Returns
The associated attribute.

◆ begin() [1/5]

template<typename TG , typename TL , int N = 100>
iterator Dune::ParallelIndexSet< TG, TL, N >::begin ( )
inline

Get an iterator over the indices positioned at the first index.

Returns
Iterator over the local indices.

◆ begin() [2/5]

template<typename TS , typename TG , typename TL , int N>
SelectionIterator< TS, TG, TL, N > Dune::UncachedSelection< TS, TG, TL, N >::begin

Get the index set we are a selection for.

Get an iterator over the selected indices.

Returns
An iterator positioned at the first selected index.

◆ begin() [3/5]

template<typename TS , typename TG , typename TL , int N>
uint32_t * Dune::Selection< TS, TG, TL, N >::begin

Get the index set we are a selection for.

Get an iterator over the selected indices.

Returns
An iterator positioned at the first selected index.

◆ begin() [4/5]

template<typename TG , typename TL , int N = 100>
const_iterator Dune::ParallelIndexSet< TG, TL, N >::begin ( ) const
inline

Get an iterator over the indices positioned at the first index.

Returns
Iterator over the local indices.

◆ begin() [5/5]

template<class I >
const_iterator Dune::GlobalLookupIndexSet< I >::begin ( ) const
inline

Get an iterator over the indices positioned at the first index.

Returns
Iterator over the local indices.

◆ beginResize()

template<typename TG , typename TL , int N = 100>
void Dune::ParallelIndexSet< TG, TL, N >::beginResize ( )

Indicate that the index set is to be resized.

Exceptions
InvalidStateIf index set was not in ParallelIndexSetState::GROUND mode.

◆ compare()

template<typename T >
static bool Dune::LocalIndexComparator< T >::compare ( const T &  t1,
const T &  t2 
)
inlinestatic

◆ end() [1/5]

template<typename TG , typename TL , int N = 100>
iterator Dune::ParallelIndexSet< TG, TL, N >::end ( )
inline

Get an iterator over the indices positioned after the last index.

Returns
Iterator over the local indices.

◆ end() [2/5]

template<typename TS , typename TG , typename TL , int N>
SelectionIterator< TS, TG, TL, N > Dune::UncachedSelection< TS, TG, TL, N >::end

Get an iterator over the selected indices.

Returns
An iterator positioned at the first selected index.

◆ end() [3/5]

template<typename TS , typename TG , typename TL , int N>
uint32_t * Dune::Selection< TS, TG, TL, N >::end

Get an iterator over the selected indices.

Returns
An iterator positioned at the first selected index.

◆ end() [4/5]

template<typename TG , typename TL , int N = 100>
const_iterator Dune::ParallelIndexSet< TG, TL, N >::end ( ) const
inline

Get an iterator over the indices positioned after the last index.

Returns
Iterator over the local indices.

◆ end() [5/5]

template<class I >
const_iterator Dune::GlobalLookupIndexSet< I >::end ( ) const
inline

Get an iterator over the indices positioned after the last index.

Returns
Iterator over the local indices.

◆ endResize()

template<typename TG , typename TL , int N = 100>
void Dune::ParallelIndexSet< TG, TL, N >::endResize ( )

Indicate that the resizing finishes.

Warning
Invalidates all pointers stored to the elements of this index set. The local indices will be ordered according to the global indices: Let $(g_i,l_i)_{i=0}^N $ be the set of all indices then $l_i < l_j$ if and only if $g_i < g_j$ for arbitrary $i \neq j$.
Exceptions
InvalidStateIf index set was not in ParallelIndexSetState::RESIZE mode.

◆ exists()

template<typename TG , typename TL , int N = 100>
bool Dune::ParallelIndexSet< TG, TL, N >::exists ( const GlobalIndex global) const
inline

Find the index pair with a specific global id.

This starts a binary search for the entry and therefore has complexity log(N).

Parameters
globalThe globally unique id of the pair.
Returns
The pair of indices for the id.
Exceptions
RangeErrorThrown if the global id is not known.

◆ free()

template<typename TS , typename TG , typename TL , int N>
void Dune::Selection< TS, TG, TL, N >::free
inline

Free allocated memory.

◆ global()

template<class TG , class TL >
const GlobalIndex& Dune::IndexPair< TG, TL >::global ( ) const
inline

Get the global index.

Returns
The global index.

◆ GlobalLookupIndexSet() [1/2]

template<class I >
Dune::GlobalLookupIndexSet< I >::GlobalLookupIndexSet ( const ParallelIndexSet indexset)

Constructor.

Parameters
indexsetThe index set we want to be able to lookup the corresponding global index of a local index.

◆ GlobalLookupIndexSet() [2/2]

template<class I >
Dune::GlobalLookupIndexSet< I >::GlobalLookupIndexSet ( const ParallelIndexSet indexset,
std::size_t  size 
)

Constructor.

Parameters
indexsetThe index set we want to be able to lookup the corresponding global index of a local index.
sizeThe number of indices present, i.e. one more than the maximum local index.

◆ IndexPair() [1/3]

template<class TG , class TL >
Dune::IndexPair< TG, TL >::IndexPair ( )

Construct a new Pair.

◆ IndexPair() [2/3]

template<class TG , class TL >
Dune::IndexPair< TG, TL >::IndexPair ( const GlobalIndex global)

Constructs a new Pair.

The local index will be 0.

Parameters
globalThe global index.

◆ IndexPair() [3/3]

template<class TG , class TL >
Dune::IndexPair< TG, TL >::IndexPair ( const GlobalIndex global,
const LocalIndex local 
)

Constructs a new Pair.

Parameters
globalThe global index.
localThe local index.

◆ isPublic()

template<class T >
bool Dune::ParallelLocalIndex< T >::isPublic
inline

Check whether the index might also be known other processes.

Returns
True if the index might be known to other processors.

◆ iterator()

template<typename TG , typename TL , int N = 100>
Dune::ParallelIndexSet< TG, TL, N >::iterator::iterator ( ParallelIndexSet< TG, TL, N > &  indexSet,
const Father father 
)
inline

◆ local() [1/4]

template<class TG , class TL >
LocalIndex& Dune::IndexPair< TG, TL >::local ( )
inline

Get the local index.

Returns
The local index.

◆ local() [2/4]

const std::size_t & Dune::LocalIndex::local ( ) const
inline

get the local index.

Returns
The local index.

◆ local() [3/4]

template<class T >
size_t Dune::ParallelLocalIndex< T >::local
inline

get the local index.

Returns
The local index.

◆ local() [4/4]

template<class TG , class TL >
const LocalIndex& Dune::IndexPair< TG, TL >::local ( ) const
inline

Get the local index.

Returns
The local index.

◆ markAsDeleted()

template<typename TG , typename TL , int N = 100>
void Dune::ParallelIndexSet< TG, TL, N >::markAsDeleted ( const iterator position)
inline

Mark an index as deleted.

The index will be deleted during endResize().

Parameters
positionAn iterator at the position we want to delete.
Exceptions
InvalidStateIf index set is not in ParallelIndexSetState::RESIZE mode.

◆ operator size_t()

template<class T >
Dune::ParallelLocalIndex< T >::operator size_t
inline

Convert to the local index represented by an int.

◆ operator std::size_t()

Dune::LocalIndex::operator std::size_t ( ) const
inline

Convert to the local index represented by an int.

◆ operator!=() [1/3]

template<class TG , class TL >
bool Dune::operator!= ( const IndexPair< TG, TL > &  a,
const IndexPair< TG, TL > &  b 
)
inline

◆ operator!=() [2/3]

template<class TG , class TL >
bool Dune::operator!= ( const IndexPair< TG, TL > &  a,
const TG &  b 
)
inline

◆ operator!=() [3/3]

template<typename T >
bool Dune::operator!= ( const ParallelLocalIndex< T > &  p1,
const ParallelLocalIndex< T > &  p2 
)

◆ operator()()

template<class TG , class TL >
bool Dune::IndexSetSortFunctor< TG, TL >::operator() ( const IndexPair< TG, TL > &  i1,
const IndexPair< TG, TL > &  i2 
)
inline

◆ operator<() [1/2]

template<class TG , class TL >
bool Dune::operator< ( const IndexPair< TG, TL > &  a,
const IndexPair< TG, TL > &  b 
)
inline

◆ operator<() [2/2]

template<class TG , class TL >
bool Dune::operator< ( const IndexPair< TG, TL > &  a,
const TG &  b 
)
inline

◆ operator<<() [1/3]

template<class TG , class TL >
std::ostream & Dune::operator<< ( std::ostream &  os,
const IndexPair< TG, TL > &  pair 
)
inline

Print an index pair.

Parameters
osThe outputstream to print to.
pairThe index pair to print.

◆ operator<<() [2/3]

template<class TG , class TL , int N>
std::ostream & Dune::operator<< ( std::ostream &  os,
const ParallelIndexSet< TG, TL, N > &  indexSet 
)
inline

Print an index set.

Parameters
osThe outputstream to print to.
indexSetThe index set to print.

◆ operator<<() [3/3]

template<class T >
std::ostream& Dune::operator<< ( std::ostream &  os,
const ParallelLocalIndex< T > &  index 
)

Print the local index to a stream.

Parameters
osThe output stream to print to.
indexThe index to print.

◆ operator<=() [1/2]

template<class TG , class TL >
bool Dune::operator<= ( const IndexPair< TG, TL > &  a,
const IndexPair< TG, TL > &  b 
)
inline

◆ operator<=() [2/2]

template<class TG , class TL >
bool Dune::operator<= ( const IndexPair< TG, TL > &  a,
const TG &  b 
)
inline

◆ operator=() [1/2]

template<class T >
ParallelLocalIndex< T > & Dune::ParallelLocalIndex< T >::operator= ( size_t  index)
inline

Assign a new local index.

Parameters
indexThe new local index.

◆ operator=() [2/2]

LocalIndex & Dune::LocalIndex::operator= ( std::size_t  index)
inline

Assign a new local index.

Parameters
indexThe new local index.

◆ operator==() [1/3]

template<class TG , class TL >
bool Dune::operator== ( const IndexPair< TG, TL > &  a,
const IndexPair< TG, TL > &  b 
)
inline

◆ operator==() [2/3]

template<class TG , class TL >
bool Dune::operator== ( const IndexPair< TG, TL > &  a,
const TG &  b 
)
inline

◆ operator==() [3/3]

template<typename T >
bool Dune::operator== ( const ParallelLocalIndex< T > &  p1,
const ParallelLocalIndex< T > &  p2 
)

◆ operator>() [1/2]

template<class TG , class TL >
bool Dune::operator> ( const IndexPair< TG, TL > &  a,
const IndexPair< TG, TL > &  b 
)
inline

◆ operator>() [2/2]

template<class TG , class TL >
bool Dune::operator> ( const IndexPair< TG, TL > &  a,
const TG &  b 
)
inline

◆ operator>=() [1/2]

template<class TG , class TL >
bool Dune::operator>= ( const IndexPair< TG, TL > &  a,
const IndexPair< TG, TL > &  b 
)
inline

◆ operator>=() [2/2]

template<class TG , class TL >
bool Dune::operator>= ( const IndexPair< TG, TL > &  a,
const TG &  b 
)
inline

◆ operator[]() [1/3]

template<typename TG , typename TL , int N = 100>
IndexPair& Dune::ParallelIndexSet< TG, TL, N >::operator[] ( const GlobalIndex global)
inline

Find the index pair with a specific global id.

This starts a binary search for the entry and therefore has complexity log(N).

Parameters
globalThe globally unique id of the pair.
Returns
The pair of indices for the id.
Warning
If the global index is not in the set a wrong or even a null reference might be returned. To be save use the throwing alternative at.

◆ operator[]() [2/3]

template<typename TG , typename TL , int N = 100>
const IndexPair& Dune::ParallelIndexSet< TG, TL, N >::operator[] ( const GlobalIndex global) const
inline

Find the index pair with a specific global id.

This starts a binary search for the entry and therefore has complexity log(N).

Parameters
globalThe globally unique id of the pair.
Returns
The pair of indices for the id.
Warning
If the global index is not in the set a wrong or even a null reference might be returned. To be save use the throwing alternative at.

◆ operator[]() [3/3]

template<class I >
const IndexPair& Dune::GlobalLookupIndexSet< I >::operator[] ( const GlobalIndex global) const
inline

Find the index pair with a specific global id.

This starts a binary search for the entry and therefore has complexity log(N). This method is forwarded to the underlying index set.

Parameters
globalThe globally unique id of the pair.
Returns
The pair of indices for the id.
Exceptions
RangeErrorThrown if the global id is not known.

◆ pair()

template<class I >
const IndexPair* Dune::GlobalLookupIndexSet< I >::pair ( const std::size_t &  local) const
inline

Get the index pair corresponding to a local index.

◆ ParallelIndexSet()

template<typename TG , typename TL , int N = 100>
Dune::ParallelIndexSet< TG, TL, N >::ParallelIndexSet ( )

Constructor.

◆ ParallelLocalIndex() [1/3]

template<class T >
Dune::ParallelLocalIndex< T >::ParallelLocalIndex

Parameterless constructor.

Needed for use in container classes.

◆ ParallelLocalIndex() [2/3]

template<class T >
Dune::ParallelLocalIndex< T >::ParallelLocalIndex ( const Attribute attribute,
bool  isPublic 
)

Constructor.

The local index will be initialized to 0.

Parameters
attributeThe attribute of the index.
isPublicTrue if the index might also be known to other processes.

◆ ParallelLocalIndex() [3/3]

template<class T >
Dune::ParallelLocalIndex< T >::ParallelLocalIndex ( size_t  localIndex,
const Attribute attribute,
bool  isPublic = true 
)

Constructor.

Parameters
localIndexThe local index.
attributeThe attribute of the index.
isPublicTrue if the index might also be known to other processes.

◆ renumberLocal()

template<typename TG , typename TL , int N = 100>
void Dune::ParallelIndexSet< TG, TL, N >::renumberLocal ( )
inline

Renumbers the local index numbers.

After this function returns the indices are consecutively numbered beginning from 0. Let $(g_i,l_i)$, $(g_j,l_j)$ be two arbitrary index pairs with $g_i<g_j$ then after renumbering $l_i<l_j$ will hold.

◆ seqNo() [1/2]

template<typename TG , typename TL , int N = 100>
int Dune::ParallelIndexSet< TG, TL, N >::seqNo ( ) const
inline

Get the internal sequence number.

Is initially 0 is incremented for each resize.

Returns
The sequence number.

◆ seqNo() [2/2]

template<class I >
int Dune::GlobalLookupIndexSet< I >::seqNo ( ) const
inline

Get the internal sequence number.

Is initially 0 is incremented for each resize.

Returns
The sequence number.

◆ setAttribute()

template<class T >
void Dune::ParallelLocalIndex< T >::setAttribute ( const Attribute attribute)
inline

Set the attribute of the index.

Parameters
attributeThe associated attribute.

◆ setIndexSet() [1/2]

template<typename TS , typename TG , typename TL , int N>
void Dune::UncachedSelection< TS, TG, TL, N >::setIndexSet ( const ParallelIndexSet indexset)

Set the index set of the selection.

Parameters
indexsetThe index set to use.

◆ setIndexSet() [2/2]

template<typename TS , typename TG , typename TL , int N>
void Dune::Selection< TS, TG, TL, N >::setIndexSet ( const ParallelIndexSet indexset)
inline

Set the index set of the selection.

Parameters
indexsetThe index set to use.

◆ setLocal()

template<class TG , class TL >
void Dune::IndexPair< TG, TL >::setLocal ( int  index)
inline

Set the local index.

Parameters
indexThe index to set it to.

◆ setState() [1/2]

template<class T >
void Dune::ParallelLocalIndex< T >::setState ( const LocalIndexState state)
inline

Set the state.

Parameters
stateThe state to set.

◆ setState() [2/2]

void Dune::LocalIndex::setState ( LocalIndexState  state)
inline

Set the state.

Parameters
stateThe state to set.

◆ size() [1/2]

template<typename TG , typename TL , int N = 100>
size_t Dune::ParallelIndexSet< TG, TL, N >::size ( ) const
inline

Get the total number (public and nonpublic) indices.

Returns
The total number (public and nonpublic) indices.

◆ size() [2/2]

template<class I >
size_t Dune::GlobalLookupIndexSet< I >::size ( ) const
inline

Get the total number (public and nonpublic) indices.

Returns
The total number (public and nonpublic) indices.

◆ state() [1/3]

template<typename TG , typename TL , int N = 100>
const ParallelIndexSetState& Dune::ParallelIndexSet< TG, TL, N >::state ( )
inline

Get the state the index set is in.

Returns
The state of the index set.

◆ state() [2/3]

LocalIndexState Dune::LocalIndex::state ( ) const
inline

Get the state.

Returns
The state.

◆ state() [3/3]

template<class T >
LocalIndexState Dune::ParallelLocalIndex< T >::state
inline

Get the state.

Returns
The state.

◆ ~GlobalLookupIndexSet()

template<class I >
Dune::GlobalLookupIndexSet< I >::~GlobalLookupIndexSet ( )

Destructor.

◆ ~Selection()

template<typename TS , typename TG , typename TL , int N>
Dune::Selection< TS, TG, TL, N >::~Selection
inline
Dune::ParallelIndexSet::state
const ParallelIndexSetState & state()
Get the state the index set is in.
Definition: indexset.hh:308
Dune::LocalIndexState
LocalIndexState
The states avaiable for the local indices.
Definition: localindex.hh:26
Dune::ParallelIndexSet::LocalIndex
TL LocalIndex
The type of the local index, e.g. ParallelLocalIndex.
Definition: indexset.hh:238
Dune::IndexPair::LocalIndex
TL LocalIndex
the type of the local index.
Definition: indexset.hh:119