KaMPIng 0.2.1
(Near) zero-overhead MPI wrapper for C++
Loading...
Searching...
No Matches
mpi_type_traits.hpp File Reference

Type traits and dispatcher for mapping C++ types to MPI datatypes. More...

Include dependency graph for mpi_type_traits.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  kamping::types::mpi_type_traits< T, Enable >
 The type trait that maps a C++ type T to an MPI_Datatype for the kamping-types module. More...
 
struct  kamping::types::mpi_type_traits< T, std::enable_if_t< has_auto_dispatched_type_v< T > > >
 Partial specialization of kamping::types::mpi_type_traits for types matched by kamping::types::type_dispatcher(). More...
 
struct  kamping::types::has_static_type< typename, Enable >
 Check if the type has a static type definition, i.e. kamping::types::mpi_type_traits is defined. More...
 
struct  kamping::types::has_static_type< T, std::void_t< decltype(mpi_type_traits< T >::data_type())> >
 Check if the type has a static type definition, i.e. kamping::types::mpi_type_traits is defined. More...
 
struct  kamping::types::type_dispatcher_lookup
 Default lookup policy for contiguous_type and struct_type. More...
 

Functions

template<typename T >
auto kamping::types::type_dispatcher ()
 Maps a C++ type T to a type trait for constructing an MPI_Datatype.
 

Variables

template<typename T >
static constexpr bool kamping::types::has_auto_dispatched_type_v
 Whether the type is handled by the auto-dispatcher kamping::types::type_dispatcher().
 
template<typename T >
static constexpr bool kamping::types::has_static_type_v = has_static_type<T>::value
 true if kamping::types::mpi_type_traits provides a data_type() function.
 

Detailed Description

Type traits and dispatcher for mapping C++ types to MPI datatypes.