|
KaMPIng 0.2.1
(Near) zero-overhead MPI wrapper for C++
|
Type traits and dispatcher for mapping C++ types to MPI datatypes. More...
#include <type_traits>#include "kamping/types/builtin_types.hpp"#include "kamping/types/detail/contiguous_type_fwd.hpp"#include "kamping/types/detail/type_helpers.hpp"

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. | |
Type traits and dispatcher for mapping C++ types to MPI datatypes.