DNDSR 0.1.0.dev1+gcd065ad
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 ()
 
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 334 of file MPI.hpp.

Member Typedef Documentation

◆ tBase

Definition at line 337 of file MPI.hpp.

◆ tSelf

Definition at line 336 of file MPI.hpp.

Constructor & Destructor Documentation

◆ MPITypePairHolder()

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

Perfect-forwarding factory; returns shared_ptr<MPITypePairHolder>.

Definition at line 348 of file MPI.hpp.

Here is the call graph for this function:

◆ ~MPITypePairHolder()

DNDS::MPITypePairHolder::~MPITypePairHolder ( )
inline

Definition at line 362 of file MPI.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ clear()

void DNDS::MPITypePairHolder::clear ( )
inline

Free every committed datatype and empty the vector.

Definition at line 368 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 358 of file MPI.hpp.

Here is the caller graph for this function:

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