DNDSR 0.2.1
Distributed Numeric Data Structure for CFV
Loading...
Searching...
No Matches
DNDS::MPITypePairHolder Struct Reference

RAII vector of (count, MPI_Datatype) pairs that frees every committed datatype when destroyed. More...

#include <MPI.hpp>

Inheritance diagram for DNDS::MPITypePairHolder:
[legend]
Collaboration diagram for DNDS::MPITypePairHolder:
[legend]

Public Types

using tSelf = MPITypePairHolder
 
using tBase = tMPI_typePairVec
 

Public Member Functions

template<typename... Args>
 MPITypePairHolder (shared_ctor_guard g, Args &&...args)
 Perfect-forwarding factory; returns shared_ptr<MPITypePairHolder>.
 
 ~MPITypePairHolder ()
 
 MPITypePairHolder (const MPITypePairHolder &)=delete
 
MPITypePairHolderoperator= (const MPITypePairHolder &)=delete
 
 MPITypePairHolder (MPITypePairHolder &&)=delete
 
MPITypePairHolderoperator= (MPITypePairHolder &&)=delete
 
void clear ()
 Free every committed datatype and empty the vector.
 

Static Public Member Functions

template<typename... Args>
static ssp< MPITypePairHoldercreate (Args &&...args)
 Only public path to construct an instance; forwards to the private constructor.
 

Detailed Description

RAII vector of (count, MPI_Datatype) pairs that frees every committed datatype when destroyed.

Used by ArrayTransformer to hold the derived datatypes it builds via MPI_Type_create_hindexed. Construction is channelled through the static create factory so instances are always owned by shared_ptr<MPITypePairHolder> and correctly registered with the ResourceRecycler.

Definition at line 357 of file MPI.hpp.

Member Typedef Documentation

◆ tBase

Definition at line 360 of file MPI.hpp.

◆ tSelf

Definition at line 359 of file MPI.hpp.

Constructor & Destructor Documentation

◆ MPITypePairHolder() [1/3]

template<typename... Args>
DNDS::MPITypePairHolder::MPITypePairHolder ( shared_ctor_guard  g,
Args &&...  args 
)
inline

Perfect-forwarding factory; returns shared_ptr<MPITypePairHolder>.

Definition at line 371 of file MPI.hpp.

Here is the call graph for this function:

◆ ~MPITypePairHolder()

DNDS::MPITypePairHolder::~MPITypePairHolder ( )
inline

Definition at line 385 of file MPI.hpp.

Here is the call graph for this function:

◆ MPITypePairHolder() [2/3]

DNDS::MPITypePairHolder::MPITypePairHolder ( const MPITypePairHolder )
delete

◆ MPITypePairHolder() [3/3]

DNDS::MPITypePairHolder::MPITypePairHolder ( MPITypePairHolder &&  )
delete

Member Function Documentation

◆ clear()

void DNDS::MPITypePairHolder::clear ( )
inline

Free every committed datatype and empty the vector.

Definition at line 399 of file MPI.hpp.

Here is the caller graph for this function:

◆ create()

template<typename... Args>
static ssp< MPITypePairHolder > DNDS::MPITypePairHolder::create ( Args &&...  args)
inlinestatic

Only public path to construct an instance; forwards to the private constructor.

Definition at line 381 of file MPI.hpp.

Here is the caller graph for this function:

◆ operator=() [1/2]

MPITypePairHolder & DNDS::MPITypePairHolder::operator= ( const MPITypePairHolder )
delete

◆ operator=() [2/2]

MPITypePairHolder & DNDS::MPITypePairHolder::operator= ( MPITypePairHolder &&  )
delete

The documentation for this struct was generated from the following file: