#include <common.h>
Public Types | |
using | type = conditional_t< found, typename pack_element< index, Ts... >::type, Default > |
Static Public Attributes | |
static constexpr auto | found = constexpr_sum(Predicate<Ts>::value...) |
static constexpr auto | index = found ? constexpr_first<Predicate, Ts...>() : 0 |
Return the one and only type which matches the predicate, or Default if none match. If more than one type matches the predicate, fail at compile-time.
using exactly_one< Predicate, Default, Ts >::type = conditional_t<found, typename pack_element<index, Ts...>::type, Default> |
|
staticconstexpr |
|
staticconstexpr |