13template <std::ranges::range T>
14 requires std::constructible_from<std::initializer_list<typename T::value_type>>
15struct Reflect<T> : category::Type<T> {
18 constexpr static bool can_descend =
true;
19 constexpr static bool iterable =
true;
20 constexpr static bool associative =
requires {
21 typename type::key_type;
22 typename type::mapped_type;
27 for (
auto&& value :
obj) {
std::string code_for()
Definition repr:39
Reflect(T &) -> Reflect< T >
T type
Definition aggregate.h:55
static void visit(V &&visitor)
Definition init_list.h:33
typename T::value_type element_type
Definition init_list.h:17
static void visit(V &&visitor, T &obj)
Definition init_list.h:26
Definition reflection/reflect.h:16