KaMPIng 0.1.0
(Near) zero-overhead C++ MPI bindings.
Loading...
Searching...
No Matches
builtin_types.hpp File Reference

Mapping of C++ datatypes to builtin MPI types. More...

#include <complex>
#include <type_traits>
#include <mpi.h>
#include "kamping/kabool.hpp"

Go to the source code of this file.

Classes

struct  kamping::builtin_type< T >
 Checks if the type T is a builtin MPI type. More...
 
struct  kamping::builtin_type< char >
 Specialization of builtin_type for char. More...
 
struct  kamping::builtin_type< signed char >
 Specialization of builtin_type for signed char. More...
 
struct  kamping::builtin_type< unsigned char >
 Specialization of builtin_type for unsigned char. More...
 
struct  kamping::builtin_type< wchar_t >
 Specialization of builtin_type for wchar_t. More...
 
struct  kamping::builtin_type< short int >
 Specialization of builtin_type for short int. More...
 
struct  kamping::builtin_type< unsigned short int >
 Specialization of builtin_type for unsigned short int. More...
 
struct  kamping::builtin_type< int >
 Specialization of builtin_type for int. More...
 
struct  kamping::builtin_type< unsigned int >
 Specialization of builtin_type for unsigned int. More...
 
struct  kamping::builtin_type< long int >
 Specialization of builtin_type for long int. More...
 
struct  kamping::builtin_type< unsigned long int >
 Specialization of builtin_type for unsigned long int. More...
 
struct  kamping::builtin_type< long long int >
 Specialization of builtin_type for long long int. More...
 
struct  kamping::builtin_type< unsigned long long int >
 Specialization of builtin_type for unsigned long long int. More...
 
struct  kamping::builtin_type< float >
 Specialization of builtin_type for float. More...
 
struct  kamping::builtin_type< double >
 Specialization of builtin_type for double. More...
 
struct  kamping::builtin_type< long double >
 Specialization of builtin_type for long double. More...
 
struct  kamping::builtin_type< bool >
 Specialization of builtin_type for bool. More...
 
struct  kamping::builtin_type< kabool >
 Specialization of builtin_type for kabool. More...
 
struct  kamping::builtin_type< std::complex< float > >
 Specialization of builtin_type for std::complex<float>. More...
 
struct  kamping::builtin_type< std::complex< double > >
 Specialization of builtin_type for std::complex<double>. More...
 
struct  kamping::builtin_type< std::complex< long double > >
 Specialization of builtin_type for std::complex<long double>. More...
 

Enumerations

enum class  kamping::TypeCategory {
  integer , floating , complex , logical ,
  byte , character , struct_like , contiguous
}
 the members specify which group the datatype belongs to according to the type groups specified in Section 6.9.2 of the MPI 4.0 standard.
 

Functions

constexpr bool kamping::category_has_to_be_committed (TypeCategory category)
 Checks if a type of the given category has to commited before usage in MPI calls.
 

Variables

template<typename T >
constexpr bool kamping::is_builtin_type_v = builtin_type<T>::value
 Helper variable template for builtin_type.
 

Detailed Description

Mapping of C++ datatypes to builtin MPI types.