TIMPI
Static Public Attributes | Private Member Functions | List of all members
TIMPI::StandardType< T, Enable > Class Template Reference

Templated class to provide the appropriate MPI datatype for use with built-in C types or simple C++ constructions. More...

#include <standard_type.h>

Inheritance diagram for TIMPI::StandardType< T, Enable >:
[legend]

Static Public Attributes

static const bool is_fixed_type = false
 

Private Member Functions

 StandardType (const T *example=nullptr)
 

Detailed Description

template<typename T, typename Enable>
class TIMPI::StandardType< T, Enable >

Templated class to provide the appropriate MPI datatype for use with built-in C types or simple C++ constructions.

Note that the unspecialized class inherits from NotADataType. Users defining their own StandardType and defining their own MPI dataype will want to inherit from DataType, which includes an MPI_Datatype member (when we have MPI). A user may also want to define a StandardType that inherits from NotADataType if they are defining a Packing specialization for the same type T. This will enable them to call non-packed-range code with their dynamically sized data and have automatic dispatch to packed range methods when required. Note that a user wishing to make use of automatic dispatch to packed range methods will need to define a public constructor in order for their code to compile. Normal MPI-typeable StandardType specializations will obviously need to also define public constructors.

More complicated data types may need to provide a pointer-to-T so that we can use MPI_Address without constructing a new T.

Definition at line 83 of file standard_type.h.

Constructor & Destructor Documentation

◆ StandardType()

template<typename T, typename Enable>
TIMPI::StandardType< T, Enable >::StandardType ( const T *  example = nullptr)
private

Member Data Documentation

◆ is_fixed_type

const bool TIMPI::NotADataType::is_fixed_type = false
staticinherited

Definition at line 130 of file data_type.h.


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