TIMPI
|
Templated class to provide the appropriate MPI datatype for use with built-in C types or simple C++ constructions. More...
#include <standard_type.h>
Static Public Attributes | |
static const bool | is_fixed_type = false |
Private Member Functions | |
StandardType (const T *example=nullptr) | |
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.
|
private |
|
staticinherited |
Definition at line 130 of file data_type.h.