11 template <
typename ClassType,
typename ReturnType,
typename... Args>
13 enum { arity =
sizeof...(Args) };
14 typedef ReturnType result_type;
18 using type =
typename std::tuple_element<i, std::tuple<Args...>>::type;
22 template <
typename ClassType,
typename ReturnType,
typename... Args>
24 enum { arity =
sizeof...(Args) };
26 typedef ReturnType result_type;
30 using type =
typename std::tuple_element<i, std::tuple<Args...>>::type;
34 template <
typename Base,
typename Derived>
37 value = std::is_base_of<Base, Derived>::value
42 template <
typename T,
typename Tuple>
45 template <
typename T,
typename... Types>
47 static const std::size_t value = 0;
52 static const std::size_t value = 0;
55 template <
typename T,
typename U,
typename... Types>
57 static const std::size_t value = 1 +
index_in_tuple<T, std::tuple<Types...>>::value;
61 template <
typename T,
typename Tuple>
63 using type = std::tuple<T>;
66 template <
typename T,
typename... Types>
69 using Tuple = std::tuple<Types ...>;
71 using type =
typename std::conditional<
73 , std::tuple<Types ..., T>
78 template <
typename Tuple1,
typename Tuple2>
81 template <
typename Tuple1>
86 template <
typename Tuple1,
typename T,
typename... Types>
89 using step1 =
typename add_if_not_in_tuple<T, Tuple1>::type;
94 template <
typename Tuple>
96 static const std::size_t value = 0;
99 template <
typename T,
typename... Ts>
104 static const std::size_t value = step1 >
sizeof(T) ? step1 :
sizeof(T);
Definition: Traits.hpp:79
Definition: TypedString.hpp:74
Definition: Traits.hpp:43
Definition: Traits.hpp:35
Definition: Traits.hpp:62
Definition: Traits.hpp:95