|
KaMPIng 0.2.1
(Near) zero-overhead MPI wrapper for C++
|
Struct-like MPI type construction via field reflection. More...
#include <tuple>#include <type_traits>#include <utility>#include <mpi.h>#include "kamping/kassert/kassert.hpp"#include "kamping/types/builtin_types.hpp"#include "kamping/types/detail/type_helpers.hpp"#include "kamping/types/mpi_type_traits.hpp"

Go to the source code of this file.
Classes | |
| struct | kamping::types::kamping_tag |
| Tag used for indicating that a struct is reflectable. More... | |
| struct | kamping::types::struct_type< T, Lookup > |
| Constructs an MPI_Datatype for a struct-like type. More... | |
Namespaces | |
| namespace | kamping::internal |
| Internal namespace marking the code that is not user-facing. | |
Functions | |
| template<typename T , typename F , size_t... Is> | |
| void | kamping::internal::for_each_tuple_field (T &&t, F &&f, std::index_sequence< Is... >) |
Applies functor f to each field of the tuple with an index in index sequence Is. | |
| template<typename T , typename F > | |
| void | kamping::internal::for_each_tuple_field (T &t, F &&f) |
Applies functor f to each field of the tuple t. | |
| template<typename T , typename F > | |
| void | kamping::internal::for_each_field (T &t, F &&f) |
Applies functor f to each field of the tuple-like type t. Works for std::pair and std::tuple. If KaMPIng's reflection support is enabled, also works with types reflectable via pfr. | |
Variables | |
| template<typename T > | |
| constexpr size_t | kamping::internal::tuple_size |
| The number of elements in a tuple-like type. | |
Struct-like MPI type construction via field reflection.