Concept for reading values from containers.
typename ConstValueIterator;
typename ConstMemberIterator;
bool is_null() const;
bool is_int() const;
bool is_string() const;
bool is_double() const;
bool is_object() const;
bool is_list() const;
bool is_bool() const;
int get_int() const;
const char* get_cstr() const;
std::string get_string() const;
std::string_view get_string_view() const;
double get_double() const;
bool get_bool() const;
ConstValueIterator begin_list() const;
ConstValueIterator end_list() const;
ConstListRange get_list() const;
ConstMemberIterator begin_member() const;
ConstMemberIterator end_member() const;
ConstMemberIterator find_member(const char*) const;
ConstMemberIterator find_member(std::string_view) const;
ConstMemberRange get_object() const;
T get_view() const;
}