14 template <
typename T,
typename =
void>
29 decltype(std::declval<T>().begin()),
30 decltype(std::declval<T>().end())
31 >>:
public std::true_type {};
49 template <
template <
typename ...>
class T,
typename =
void>
63 template <
template <
typename ...>
class T,
typename ... Args>
71 template <
template <
typename ...>
class T,
typename U>
constexpr bool is_iterable_v
Compile-time function to check can be instance iterated.
constexpr bool is_specialisation_of_v
Compile-time function to check whether one type is a specialisation of another.