|
C++ mpi module for stochmagnet_main Package
|
This class is a base class of E-MicromM core package. More...
#include <MPI_Type.h>


Public Member Functions | |
| MPI_Type (void) | |
| create | |
| virtual | ~MPI_Type (void) |
| destroy | |
| virtual tMemSize | getMemorySize () const override |
| return the memory size of the class | |
| virtual tMemSize | getContentsMemorySize () const override |
| return the memory size of the included associations More... | |
| template<typename T > | |
| tBoolean | createContiguousType (const tMPICount &N) |
| create a MPI array type of size N More... | |
| template<typename T > | |
| tBoolean | createConstantStepType (const tMPICount &N, const tMPICount &elementSize, const tMPICount &step) |
| create a constant step data type More... | |
| tBoolean | createConstantOctetStepType (const tMPICount &nElements, const tMPICount &elementsNumber, const tMPIByte &stepInOctets, const tMPIType &oldType) |
| create a constant step data type More... | |
| template<typename T > | |
| tBoolean | createVariableStepType (const tMPICount &nElements, const std::valarray< tMPICount > &elementSizes, const std::valarray< tMPICount > &elementIndices) |
| create a variable step data type More... | |
| tBoolean | createVariableOctetStepType (const tMPICount &nElements, const std::valarray< tMPICount > &elementSizes, const std::valarray< tMPIByte > &elementOctetIndices, const tMPIType &oldType) |
| create a variable step data type More... | |
| tBoolean | createStructType (const tMPICount &nElements, const std::valarray< tMPICount > &elementSizes, const std::valarray< tMPIByte > &elementOctetIndices, const std::valarray< tMPIType > &elementTypes) |
| create a structure type More... | |
| const tMPIType & | getType () const |
| get the type More... | |
Public Member Functions inherited from CORE_Object | |
| template<class T > | |
| std::shared_ptr< T > | getSharedPointer () |
| return the shared pointer for this More... | |
| template<class T > | |
| std::shared_ptr< const T > | getConstSharedPointer () const |
| return a const shared pointer for this More... | |
| template<class T > | |
| tBoolean | isInstanceOf () const |
| test if the clas T is an instance of this class More... | |
| tString | getClassName () const |
| return the name of the class More... | |
| tString | getPointerString () const |
| retrun the pointer of the class as a string More... | |
| tString | getIdentityString () const |
| retrun the string identification of the class More... | |
| virtual tString | toString () const |
| return the string representation of the object node More... | |
Static Public Member Functions | |
| template<class T > | |
| static tMPIType | GetPrimaryType () |
| get the MPI type of the template type T More... | |
| static tMPIType | GetPrimaryType (const tString &typeName) |
| get the primary MPI type of the template type More... | |
| template<typename T > | |
| static tMPIError | CreateContiguousType (const tMPICount &N, tMPIType &newType) |
| create a MPI array type of size N More... | |
| static tMPIError | CreateContiguousType (const tMPICount &N, const tMPIType &oldType, tMPIType &newType) |
| create a MPI array type of size N More... | |
| template<typename T > | |
| static tMPIError | CreateConstantStepType (const tMPICount &nElements, const tMPICount &elementSize, const tMPICount &step, tMPIType &newType) |
| create a constant step data type More... | |
| static tMPIError | CreateConstantStepType (const tMPICount &nElements, const tMPICount &elementSize, const tMPICount &step, const tMPIType &oldType, tMPIType &newType) |
| create a constant step data type More... | |
| static tMPIError | CreateConstantOctetStepType (const tMPICount &nElements, const tMPICount &elementsNumber, const tMPIByte &stepInOctets, const tMPIType &oldType, tMPIType &newType) |
| create a constant step data type More... | |
| template<typename T > | |
| static tMPIError | CreateVariableStepType (const tMPICount &nElements, const std::valarray< tMPICount > &elementSizes, const std::valarray< tMPICount > &elementIndices, tMPIType &newType) |
| create a variable step data type More... | |
| static tMPIError | CreateVariableOctetStepType (const tMPICount &nElements, const std::valarray< tMPICount > &elementSizes, const std::valarray< tMPIByte > &elementOctetIndices, const tMPIType &oldType, tMPIType &newType) |
| create a variable step data type More... | |
| static tMPIError | CreateStructType (const tMPICount &nElements, const std::valarray< tMPICount > &elementSizes, const std::valarray< tMPIByte > &elementOctetIndices, const std::valarray< tMPIType > &elementTypes, tMPIType &newType) |
| create a structure type More... | |
| template<typename T , tUCInt N> | |
| static void | CreateFaceTypes (const tUCInt &dim, const std::array< tInteger, N > &Ns, std::array< MPI_Type, N > &faceTypes) |
| create a face types of element element of type T More... | |
| static tMPIError | Resize (const tMPIType dataType, const tMPIByte &lb, const tMPIByte &extent, tMPIType &newDataType) |
| resize the type More... | |
| static tMPIError | Register (tMPIType &type) |
| register the type More... | |
| static tMPIError | Unregister (tMPIType &type) |
| unregister the type More... | |
| template<typename T > | |
| static tMPIError | GetSize (int &mpiSize) |
| get the mpi size of a type in octet More... | |
| static tMPIError | GetSize (const tMPIType &mpiType, int &mpiSize) |
| get the mpi size of a type in octets More... | |
| static tMPIError | GetExtent (const tMPIType &mpiType, tMPIByte &start, tMPIByte &mpiSize) |
| get the mpi size (in octet) between the first element (in octet) and the last element of the mpi type may be difference with MPI_Type::GetTypeSize because it take account of holes More... | |
| template<typename T > | |
| static tMPIError | GetExtent (tMPIByte &start, tMPIByte &mpiSize) |
| get the mpi size (in octet) of the element including the alignment More... | |
Static Public Member Functions inherited from CORE_Object | |
| static tBoolean | EnableMemoryStack (const tBoolean &isMemoryChecked) |
| enable the memory stack More... | |
| static void | EnableMemoryStack () |
| enable the memory stack | |
| static void | DisableMemoryStack () |
| disable the memory stack | |
| static tBoolean | IsMemoryStackEnabled () |
| return trur if the memory stack is enabled | |
| static tString | MemoryStackToString () |
| get the memory stack in string More... | |
| static tIndex | GetRegisteredClassesNumber () |
| get the memory stack in string More... | |
Additional Inherited Members | |
Protected Member Functions inherited from MPI_Object | |
| MPI_Object (void) | |
| create | |
| virtual | ~MPI_Object (void) |
| destroy | |
Protected Member Functions inherited from CORE_Object | |
| CORE_Object () | |
| build an instance of the object | |
| virtual | ~CORE_Object () |
| destroy the instance of object std | |
This class is a base class of E-MicromM core package.
|
inline |
create a constant step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementsNumber | : number of octets within one element of new type |
| [in] | stepInOctet | : number of octets between 2 elements of new type with is not a multiple of oldType |
| [in] | oldType | : oldType |
|
inlinestatic |
create a constant step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementsNumber | : number of octets within one element of new type |
| [in] | stepInOctet | : number of octets between 2 elements of new type with is not a multiple of oldType |
| [in] | oldType | : oldType |
| [out] | newType | new type |
|
inline |
create a constant step data type
| T | : type of element |
| [in] | N | : number of elements of new type |
| [in] | elementSize | : number of T elements within one element of new type |
| [in] | step | : number of T elements between 2 elements of new type |
|
inlinestatic |
create a constant step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSize | : number of oldType elements within one element of new type |
| [in] | step | : number of oldType elements between 2 elements of new type |
| [out] | newType | new type |
|
inlinestatic |
create a constant step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSize | : number of T elements within one element of new type |
| [in] | step | : number of T elements between 2 elements of new type |
| [out] | newType | new type |
|
inline |
create a MPI array type of size N
| T | : type of element |
| [in] | N | number of contiguous elements of type T |
|
inlinestatic |
create a MPI array type of size N
| [in] | N | number of contiguous elements of type oldType |
| [in] | oldType | old type |
| [in] | newType | new type |
|
inlinestatic |
create a MPI array type of size N
| T | : type of element |
| [in] | N | number of contiguous elements of type T |
| [in] | newType | new type |
|
inlinestatic |
create a face types of element element of type T
| T | : type of element |
| N | : dimension of space |
| [in] | dim | : dimension of each elements |
| [in] | Ns | number of elements per direction |
| [out] | facesTypes | return the face type per direction |
|
inline |
create a structure type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSizes | : number of elements of old type within the i-th element of new type |
| [in] | elementOctetIndices | number of octets to reach the i-th elements of new type with is not a multiple of ioldType |
| [in] | elementTypes | type of element of the i-the element of new type |
|
inlinestatic |
create a structure type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSizes | : number of elements of old type within the i-th element of new type |
| [in] | elementOctetIndices | number of octets to reach the i-th elements of new type with is not a multiple of ioldType |
| [in] | elementTypes | type of element of the i-the element of new type |
| [out] | newType | new type |
|
inline |
create a variable step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSizes | : number of elements of old type within the i-th element of new type |
| [in] | elementOctetsIndices | number of octets to reach the i-th elements of new type with is not a multiple of ioldType |
|
inlinestatic |
create a variable step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSizes | : number of elements of old type within the i-th element of new type |
| [in] | elementOctetIndices | number of octets to reach the i-th elements of new type with is not a multiple of ioldType |
| [out] | newType | new type |
|
inline |
create a variable step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSizes | : number of T elements within the i-th element of new type |
| [in] | elementIndices | number of T elements to reach the i-th elements of new type |
|
inlinestatic |
create a variable step data type
| T | : type of element |
| [in] | nElements | : number of elements of new type |
| [in] | elementSizes | : number of T elements within the i-th element of new type |
| [in] | elementIndices | number of T elements to reach the i-th elements of new type |
| [out] | newType | new type |
|
inlineoverridevirtual |
return the memory size of the included associations
Reimplemented from CORE_Object.
|
inlinestatic |
get the mpi size (in octet) between the first element (in octet) and the last element of the mpi type may be difference with MPI_Type::GetTypeSize because it take account of holes
| [in] | mpiType | type MPI |
| [out] | start | : index of not empty start element in the type |
| [out] | mpiSize | : size in octets including empty elements |
|
inlinestatic |
get the mpi size (in octet) of the element including the alignment
| T | : type of element |
| [out] | start | : start of the element in type |
| [out] | mpiSize | : size in octets including empty elements |
|
inlinestatic |
get the MPI type of the template type T
| T | : type of element |
|
inlinestatic |
get the primary MPI type of the template type
| [in] | typeName | name of the typeT |
|
inlinestatic |
get the mpi size of a type in octets
| [in] | mpiType | type MPI |
| [out] | mpiSize | : size in octets |
|
inlinestatic |
get the mpi size of a type in octet
| T | : type of element |
| [out] | mpiSize | : size in octets |
|
inline |
get the type
|
inlinestatic |
register the type
| [in,out] | type | type to create |
|
inlinestatic |
resize the type
| [in] | dataType | dataType to resize |
| [in] | lb | : lower bound of the data type |
| [in] | extent | new size in octet of the type |
| [out] | newDataType | new data type |
The size is the same by the extent is reduced
|
inlinestatic |
unregister the type
| [in,out] | type | : type to free |