KaMPIng 0.1.0
(Near) zero-overhead C++ MPI bindings.
|
Specialization of template class used to filter a list of (buffer-)types and discard those for which The template is recursively instantiated to check one type after the other and "insert" it into a std::tuple if it meets the criteria . based on https://stackoverflow.com/a/18366475. More...
#include <named_parameter_filtering.hpp>
Public Types | |
using | non_ref_first = std::remove_reference_t<Head> |
Remove potential reference from Head. | |
using | type |
Static Public Attributes | |
static constexpr bool | discard_elem |
Predicate which Head has to fulfill to be kept. | |
static constexpr auto | ptype = parameter_type_v<Head> |
ParameterType stored as a static variable in Head. | |
Specialization of template class used to filter a list of (buffer-)types and discard those for which The template is recursively instantiated to check one type after the other and "insert" it into a std::tuple if it meets the criteria . based on https://stackoverflow.com/a/18366475.
Predicate | Predicate function which has a constexpr static member function discard() taking |
Head | as template parameter and returning a bool indiciating whether head shall be discard (filtered out). |
Head | Type for which it is checked whether it meets the predicate. |
Tail | Types that are checked later on during the recursive instantiation. |
using kamping::internal::FilterOut< Predicate, Head, Tail... >::type |
A std::tuple<T1, ..., Tn> where T1, ..., Tn are those types among Head, Tail... which fulfill the predicate.
|
staticconstexpr |
Predicate which Head has to fulfill to be kept.