|
dune-common 2.9.1
|
Loading...
Searching...
No Matches
parallel/interface.hh
Go to the documentation of this file.
3// SPDX-FileCopyrightInfo: Copyright (C) DUNE Project contributors, see file LICENSE.md in module root
358 void InterfaceBuilder::buildInterface(const R& remoteIndices, const T1& sourceFlags, const T2& destFlags, Op& interfaceInformation) const
362 DUNE_THROW(RemoteIndicesStateError,"RemoteIndices is not in sync with the index set. Call RemoteIndices::rebuild first!");
380 RemoteIterator remote = send ? process->second.first->begin() : process->second.second->begin();
424 inline const std::map<int,std::pair<InterfaceInformation,InterfaceInformation> >& Interface::interfaces() const
470 this->template buildInterface<R,T1,T2,InformationBuilder<true>,true>(remoteIndices, sourceFlags,
Classes for building sets out of enumeration values.
Classes describing a distributed indexset.
std::ostream & operator<<(std::ostream &s, const bigunsignedint< k > &x)
Definition bigunsignedint.hh:278
void buildInterface(const R &remoteIndices, const T1 &sourceFlags, const T2 &destFlags, Op &functor) const
Builds the interface between remote processes.
Definition parallel/interface.hh:358
void build(const R &remoteIndices, const T1 &sourceFlags, const T2 &destFlags)
Builds the interface.
Definition parallel/interface.hh:461
void print() const
Print the interface to std::out for debugging.
Definition parallel/interface.hh:434
const InformationMap & interfaces() const
Get information about the interfaces.
Definition parallel/interface.hh:424
MPI_Comm communicator() const
Get the MPI Communicator.
Definition parallel/interface.hh:417
void free()
Frees memory allocated during the build.
Definition parallel/interface.hh:492
Default exception if a function was called while the object is not in a valid state for that function...
Definition exceptions.hh:281
Base class of all classes representing a communication interface.
Definition parallel/interface.hh:35
virtual ~InterfaceBuilder()
Definition parallel/interface.hh:40
InterfaceBuilder()
Not for public use.
Definition parallel/interface.hh:47
Definition parallel/interface.hh:38
bool operator!=(const InterfaceInformation &o) const
Definition parallel/interface.hh:167
void add(std::size_t index)
Add a new index to the interface.
Definition parallel/interface.hh:154
virtual ~InterfaceInformation()
Definition parallel/interface.hh:164
std::size_t & operator[](size_t i)
Get the local index for an entry.
Definition parallel/interface.hh:116
bool operator==(const InterfaceInformation &o) const
Definition parallel/interface.hh:172
InterfaceInformation()
Definition parallel/interface.hh:160
size_t size() const
Get the number of entries in the interface.
Definition parallel/interface.hh:108
void reserve(size_t size)
Reserve space for a number of entries.
Definition parallel/interface.hh:134
std::size_t operator[](size_t i) const
Get the local index for an entry.
Definition parallel/interface.hh:125
Communication interface between remote and local indices.
Definition parallel/interface.hh:209
bool operator!=(const Interface &o) const
Definition parallel/interface.hh:271
MPI_Comm communicator_
The MPI communicator we use.
Definition parallel/interface.hh:316
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:216
bool operator==(const Interface &o) const
Definition parallel/interface.hh:276
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