|
dune-common 2.12-git
|
Loading...
Searching...
No Matches
parallel/interface.hh
Go to the documentation of this file.
3// SPDX-FileCopyrightInfo: Copyright © DUNE Project contributors, see file LICENSE.md in module root
367 void InterfaceBuilder::buildInterface(const R& remoteIndices, const T1& sourceFlags, const T2& destFlags, Op& interfaceInformation) const
371 DUNE_THROW(RemoteIndicesStateError,"RemoteIndices is not in sync with the index set. Call RemoteIndices::rebuild first!");
389 RemoteIterator remote = send ? process->second.first->begin() : process->second.second->begin();
433 inline const std::map<int,std::pair<InterfaceInformation,InterfaceInformation> >& Interface::interfaces() const
479 this->template buildInterface<R,T1,T2,InformationBuilder<true>,true>(remoteIndices, sourceFlags,
Classes for building sets out of enumeration values.
Classes describing a distributed indexset.
A few common exception classes.
std::ostream & operator<<(std::ostream &s, const bigunsignedint< k > &x)
Definition bigunsignedint.hh:301
void buildInterface(const R &remoteIndices, const T1 &sourceFlags, const T2 &destFlags, Op &functor) const
Builds the interface between remote processes.
Definition parallel/interface.hh:367
void build(const R &remoteIndices, const T1 &sourceFlags, const T2 &destFlags)
Builds the interface.
Definition parallel/interface.hh:470
void print() const
Print the interface to std::out for debugging.
Definition parallel/interface.hh:443
const InformationMap & interfaces() const
Get information about the interfaces.
Definition parallel/interface.hh:433
MPI_Comm communicator() const
Get the MPI Communicator.
Definition parallel/interface.hh:426
void free()
Frees memory allocated during the build.
Definition parallel/interface.hh:501
constexpr std::integral_constant< std::size_t, sizeof...(II)> size(std::integer_sequence< T, II... >)
Return the size of the sequence.
Definition integersequence.hh:75
Default exception if a function was called while the object is not in a valid state for that function...
Definition exceptions.hh:375
Base class of all classes representing a communication interface.
Definition parallel/interface.hh:44
virtual ~InterfaceBuilder()
Definition parallel/interface.hh:49
InterfaceBuilder()
Not for public use.
Definition parallel/interface.hh:56
Definition parallel/interface.hh:47
bool operator!=(const InterfaceInformation &o) const
Definition parallel/interface.hh:176
void add(std::size_t index)
Add a new index to the interface.
Definition parallel/interface.hh:163
virtual ~InterfaceInformation()
Definition parallel/interface.hh:173
std::size_t & operator[](size_t i)
Get the local index for an entry.
Definition parallel/interface.hh:125
bool operator==(const InterfaceInformation &o) const
Definition parallel/interface.hh:181
InterfaceInformation()
Definition parallel/interface.hh:169
size_t size() const
Get the number of entries in the interface.
Definition parallel/interface.hh:117
void reserve(size_t size)
Reserve space for a number of entries.
Definition parallel/interface.hh:143
std::size_t operator[](size_t i) const
Get the local index for an entry.
Definition parallel/interface.hh:134
Communication interface between remote and local indices.
Definition parallel/interface.hh:218
bool operator!=(const Interface &o) const
Definition parallel/interface.hh:280
MPI_Comm communicator_
The MPI communicator we use.
Definition parallel/interface.hh:325
std::map< int, std::pair< InterfaceInformation, InterfaceInformation > > InformationMap
The type of the map form process number to InterfaceInformation for sending and receiving to and from...
Definition parallel/interface.hh:225
bool operator==(const Interface &o) const
Definition parallel/interface.hh:285
T begin(T... args)
T clear(T... args)
T empty(T... args)
T end(T... args)
T endl(T... args)
T erase(T... args)
T second
T size(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8