41template <typename Tp, enable_if_t<std::is_arithmetic<Tp>::value> = 0,
42 enable_if_t<std::is_integral<Tp>::value && std::is_unsigned<Tp>::value> = 0>
49template <typename Tp, enable_if_t<std::is_arithmetic<Tp>::value> = 0,
50 enable_if_t<!(std::is_integral<Tp>::value && std::is_unsigned<Tp>::value)> = 0>
52abs(Tp _val, type_list<>) ->
decltype(
std::abs(_val), Tp{})
57template <
typename Tp,
typename Vp =
typename Tp::value_type>
66template <
typename Tp,
typename Kp =
typename Tp::key_type,
67 typename Mp =
typename Tp::mapped_type>
69abs(Tp _val, type_list<>) ->
decltype(std::begin(_val), Tp{})
78template <
template <
typename...>
class Tuple,
typename... Types,
size_t... Idx>
81 ->
decltype(std::get<0>(_val), Tuple<Types...>())
type_list abs(type_list<>)
typename std::enable_if< B, T >::type enable_if_t
Alias template for enable_if.
std::integer_sequence< size_t, Idx... > index_sequence
Alias template index_sequence.
lightweight tuple-alternative for meta-programming logic
#define TIMEMORY_FOLD_EXPRESSION(...)