12 template<
typename T>
concept HasTupleSize =
requires { std::tuple_size<std::remove_cvref_t<T>>{}; };
13 template<
typename T>
concept HasExtent =
requires { { std::remove_cvref_t<T>::extent } -> std::convertible_to<size_t>; };
15 template<
typename T,
typename =
void>
18 template<HasTupleSize T>
20 struct SizeHelper<T> {
static constexpr size_t size = std::tuple_size_v<std::remove_cvref_t<T>>; };
23 struct SizeHelper<
T> {
static constexpr size_t size = std::remove_cvref_t<T>::extent; };
27 template<
typename T,
size_t N>
Definition range_with_size_greater_than.h:28
Definition range_with_size_greater_than.h:13
Definition range_with_size_greater_than.h:12
Definition custom_decoration_generator.h:5
and
Definition algorithms.h:158
Definition range_with_size_greater_than.h:16
static constexpr size_t size
Definition range_with_size_greater_than.h:16