24template <
class T>
struct is_tuple : std::false_type {};
26template <
class... Ts>
struct is_tuple<
std::tuple<Ts...>> : std::true_type {};
37 : std::common_type<is_tuple<Ts>...>::type {};
56template <
typename... Ts,
typename... Tuples>
58 using type =
decltype(std::tuple_cat(
59 std::declval<std::tuple<Ts...>>(),
63template <
typename T,
typename... Tuples>
struct tuple_cat<T, Tuples...> {
64 using type =
decltype(std::tuple_cat(
65 std::declval<std::tuple<T>>(),
71template <
typename... Tuples>
75template <
typename... Tuples>
std::tuple<> type
Definition type_traits.hpp:53
decltype(std::tuple_cat(std::declval< std::tuple< Ts... > >(), std::declval< typename tuple_cat< Tuples... >::type >())) type
Definition type_traits.hpp:60
constexpr auto is_tuple_of_tuples_v
Alias for is_tuple_of_tuples::value.
Definition type_traits.hpp:46
typename tuple_cat< Tuples... >::type tuple_cat_t
Alias for tuple_cat::type.
Definition type_traits.hpp:72
typename is_tuple_of_tuples< T >::type is_tuple_of_tuples_t
Alias for is_tuple_of_tuples::type.
Definition type_traits.hpp:42
constexpr auto tuple_cat_v
Alias for tuple_cat::value.
Definition type_traits.hpp:76
decltype(std::tuple_cat(std::declval< std::tuple< T > >(), std::declval< typename tuple_cat< Tuples... >::type >())) type
Definition type_traits.hpp:66
constexpr bool is_tuple_v
Definition type_traits.hpp:29
Type trait for concatenating std::tuples.
Definition type_traits.hpp:50
Definition boundary.hpp:22
Type trait for std::tuple<std::tuple> type.
Definition type_traits.hpp:33
Type trait for std::tuple type.
Definition type_traits.hpp:24