Iros
 
Loading...
Searching...
No Matches
di::serialization::json::Value Class Reference

#include <di/serialization/json_value.h>

Inheritance diagram for di::serialization::json::Value:
[legend]

Public Member Functions

constexpr auto is_null () const -> bool
 
constexpr auto is_boolean () const -> bool
 
constexpr auto is_integer () const -> bool
 
constexpr auto is_number () const -> bool
 
constexpr auto is_string () const -> bool
 
constexpr auto is_array () const -> bool
 
constexpr auto is_object () const -> bool
 
constexpr auto as_boolean () const -> vocab::Optional< Bool >
 
constexpr auto is_true () const -> bool
 
constexpr auto is_false () const -> bool
 
constexpr auto as_integer () const -> vocab::Optional< Number >
 
constexpr auto as_number () const -> vocab::Optional< Number >
 
constexpr auto as_string () -> vocab::Optional< String & >
 
constexpr auto as_string () const -> vocab::Optional< String const & >
 
constexpr auto as_array () -> vocab::Optional< Array & >
 
constexpr auto as_array () const -> vocab::Optional< Array const & >
 
constexpr auto as_object () -> vocab::Optional< Object & >
 
constexpr auto as_object () const -> vocab::Optional< Object const & >
 
constexpr auto operator[] (String const &key) -> decltype(auto)
 
constexpr auto operator[] (String &&key) -> decltype(auto)
 
template<typename U>
requires (requires { util::declval<Object&>()[util::declval<U>()]; })
constexpr auto operator[] (U &&key) -> decltype(auto)
 
constexpr auto at (String const &key) -> Optional< Value & >
 
constexpr auto at (String const &key) const -> Optional< Value const & >
 
template<typename U>
requires (requires { util::declval<Object&>().at(util::declval<U&>()); })
constexpr auto at (U &&key) -> Optional< Value & >
 
template<typename U>
requires (requires { util::declval<Object const&>().at(util::declval<U&>()); })
constexpr auto at (U &&key) const -> Optional< Value const & >
 
constexpr auto contains (String const &key) const -> bool
 
template<typename U>
constexpr auto contains (U &&key) const -> bool
 
constexpr auto erase (String const &key) -> size_t
 
template<typename U>
requires (requires { util::declval<Object&>().erase(util::declval<U&>()); })
constexpr auto erase (U &&key) -> size_t
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto try_emplace (String const &key, Args &&... args) -> decltype(auto)
 
template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
constexpr auto try_emplace (String &&key, Args &&... args) -> decltype(auto)
 
template<typename U, typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...> && requires { util::declval<Object&>().try_emplace(util::declval<U>(), util::declval<Args>()...); })
constexpr auto try_emplace (U &&key, Args &&... args) -> decltype(auto)
 
template<typename V>
requires (concepts::ConstructibleFrom<Value, V>)
constexpr auto insert_or_assign (String const &key, V &&value) -> decltype(auto)
 
template<typename V>
requires (concepts::ConstructibleFrom<Value, V>)
constexpr auto insert_or_assign (String &&key, V &&value) -> decltype(auto)
 
template<typename U, typename V>
requires (concepts::ConstructibleFrom<Value, V> && requires { util::declval<Object&>().insert_or_assign(util::declval<U>(), util::declval<Value>()); })
constexpr auto insert_or_assign (U &&key, V &&value) -> decltype(auto)
 
constexpr auto empty () const -> bool
 
constexpr auto size () const -> usize
 
constexpr void clear ()
 
constexpr auto front () -> Optional< Value & >
 
constexpr auto front () const -> Optional< Value const & >
 
constexpr auto back () -> Optional< Value & >
 
constexpr auto back () const -> Optional< Value const & >
 
constexpr auto operator[] (usize index) -> Value &
 
constexpr auto operator[] (usize index) const -> Value const &
 
constexpr auto at (usize index) -> Optional< Value & >
 
constexpr auto at (usize index) const -> Optional< Value const & >
 
constexpr auto push_back (Value &&value) -> decltype(auto)
 
constexpr auto pop_back () -> Optional< Value >
 
- Public Member Functions inherited from di::vocab::Variant< Null, Bool, Number, String, Array, Object >
 Variant (Variant const &)=default
 
 Variant (Variant &&)=default
 
constexpr Variant ()
 
constexpr Variant (Variant const &other)
 
constexpr Variant (Variant &&other)
 
constexpr Variant (U &&value)
 
constexpr Variant (Constexpr< index >, Args &&... args)
 
constexpr Variant (Constexpr< index >, std::initializer_list< U > list, Args &&... args)
 
constexpr Variant (InPlaceType< T >, Args &&... args)
 
constexpr Variant (InPlaceType< T >, std::initializer_list< U > list, Args &&... args)
 
 ~Variant ()=default
 
constexpr ~Variant ()
 
auto operator= (Variant const &) -> Variant &requires(trivially_copy_assignable)=default
 
auto operator= (Variant &&) -> Variant &requires(trivially_move_assignable)=default
 
constexpr auto operator= (Variant const &other) -> Variant &requires(!trivially_copy_assignable &&copyable)
 
constexpr auto operator= (Variant &&other) -> Variant &requires(!trivially_move_assignable &&movable)
 
constexpr auto operator= (U &&value) -> Variant &
 
constexpr explicit ((!concepts::ConvertibleTo< Other const &, Types >||...)) Variant(Variant< Other... > const &other)
 
constexpr explicit ((!concepts::ConvertibleTo< Other, Types >||...)) Variant(Variant< Other... > &&other)
 
constexpr auto index () const -> size_t
 
constexpr auto emplace (Args &&... args) -> T &
 
constexpr auto emplace (std::initializer_list< U > list, Args &&... args) -> T &
 
constexpr auto emplace (Args &&... args) -> T &
 
constexpr auto emplace (std::initializer_list< U > list, Args &&... args) -> T &
 
 Variant (Variant const &)=default
 
 Variant (Variant &&)=default
 
constexpr Variant ()
 
constexpr Variant (Variant const &other)
 
constexpr Variant (Variant &&other)
 
constexpr Variant (U &&value)
 
constexpr Variant (Constexpr< index >, Args &&... args)
 
constexpr Variant (Constexpr< index >, std::initializer_list< U > list, Args &&... args)
 
constexpr Variant (InPlaceType< T >, Args &&... args)
 
constexpr Variant (InPlaceType< T >, std::initializer_list< U > list, Args &&... args)
 
 ~Variant ()=default
 
constexpr ~Variant ()
 
auto operator= (Variant const &) -> Variant &requires(trivially_copy_assignable)=default
 
auto operator= (Variant &&) -> Variant &requires(trivially_move_assignable)=default
 
constexpr auto operator= (Variant const &other) -> Variant &requires(!trivially_copy_assignable &&copyable)
 
constexpr auto operator= (Variant &&other) -> Variant &requires(!trivially_move_assignable &&movable)
 
constexpr auto operator= (U &&value) -> Variant &
 
constexpr explicit ((!concepts::ConvertibleTo< Other const &, Types >||...)) Variant(Variant< Other... > const &other)
 
constexpr explicit ((!concepts::ConvertibleTo< Other, Types >||...)) Variant(Variant< Other... > &&other)
 
constexpr auto index () const -> size_t
 
constexpr auto emplace (Args &&... args) -> T &
 
constexpr auto emplace (std::initializer_list< U > list, Args &&... args) -> T &
 
constexpr auto emplace (Args &&... args) -> T &
 
constexpr auto emplace (std::initializer_list< U > list, Args &&... args) -> T &
 
- Public Member Functions inherited from di::util::AddMemberGet< Variant< Types... > >
constexpr auto get () &-> decltype(auto)
 
constexpr auto get () const &-> decltype(auto)
 
constexpr auto get () &&-> decltype(auto)
 
constexpr auto get () const &&-> decltype(auto)
 
constexpr auto get () &-> decltype(auto)
 
constexpr auto get () const &-> decltype(auto)
 
constexpr auto get () &&-> decltype(auto)
 
constexpr auto get () const &&-> decltype(auto)
 

Friends

template<concepts::SameAs< types::Tag< util::create_in_place > > Tag = types::Tag<util::create_in_place>, typename... Args>
requires (concepts::CreatableFrom<String, Args...>)
constexpr friend auto tag_invoke (Tag, InPlaceType< Value >, Args &&... args)
 
template<typename S>
constexpr friend auto tag_invoke (types::Tag< serialize >, JsonFormat, S &serializer, Value const &value) -> meta::SerializeResult< S >
 
constexpr friend auto tag_invoke (types::Tag< serializable >, JsonFormat, InPlaceType< Value >) -> bool
 
template<concepts::Encoding Enc, concepts::SameAs< InPlaceType< Value > > X = InPlaceType<Value>, concepts::SameAs< bool > B = bool, concepts::SameAs< types::Tag< format::formatter_in_place > > Tag = types::Tag<format::formatter_in_place>>
constexpr friend auto tag_invoke (Tag, X, format::FormatParseContext< Enc > &parse_context, B debug)
 
constexpr friend auto operator== (Value const &a, container::StringView view) -> bool
 
constexpr friend auto operator<=> (Value const &a, container::StringView view)
 

Member Function Documentation

◆ as_array() [1/2]

auto di::serialization::json::Value::as_array ( ) -> vocab::Optional<Array&>
inlineconstexpr

◆ as_array() [2/2]

auto di::serialization::json::Value::as_array ( ) const -> vocab::Optional<Array const&>
inlineconstexpr

◆ as_boolean()

auto di::serialization::json::Value::as_boolean ( ) const -> vocab::Optional<Bool>
inlineconstexpr

◆ as_integer()

auto di::serialization::json::Value::as_integer ( ) const -> vocab::Optional<Number>
inlineconstexpr

◆ as_number()

auto di::serialization::json::Value::as_number ( ) const -> vocab::Optional<Number>
inlineconstexpr

◆ as_object() [1/2]

auto di::serialization::json::Value::as_object ( ) -> vocab::Optional<Object&>
inlineconstexpr

◆ as_object() [2/2]

auto di::serialization::json::Value::as_object ( ) const -> vocab::Optional<Object const&>
inlineconstexpr

◆ as_string() [1/2]

auto di::serialization::json::Value::as_string ( ) -> vocab::Optional<String&>
inlineconstexpr

◆ as_string() [2/2]

auto di::serialization::json::Value::as_string ( ) const -> vocab::Optional<String const&>
inlineconstexpr

◆ at() [1/6]

auto di::serialization::json::Value::at ( String const & key) -> Optional<Value&>
inlineconstexpr

◆ at() [2/6]

auto di::serialization::json::Value::at ( String const & key) const -> Optional<Value const&>
inlineconstexpr

◆ at() [3/6]

template<typename U>
requires (requires { util::declval<Object&>().at(util::declval<U&>()); })
auto di::serialization::json::Value::at ( U && key) -> Optional<Value&>
inlineconstexpr

◆ at() [4/6]

template<typename U>
requires (requires { util::declval<Object const&>().at(util::declval<U&>()); })
auto di::serialization::json::Value::at ( U && key) const -> Optional<Value const&>
inlineconstexpr

◆ at() [5/6]

auto di::serialization::json::Value::at ( usize index) -> Optional<Value&>
inlineconstexpr

◆ at() [6/6]

auto di::serialization::json::Value::at ( usize index) const -> Optional<Value const&>
inlineconstexpr

◆ back() [1/2]

auto di::serialization::json::Value::back ( ) -> Optional<Value&>
inlineconstexpr

◆ back() [2/2]

auto di::serialization::json::Value::back ( ) const -> Optional<Value const&>
inlineconstexpr

◆ clear()

void di::serialization::json::Value::clear ( )
inlineconstexpr

◆ contains() [1/2]

auto di::serialization::json::Value::contains ( String const & key) const -> bool
inlineconstexpr

◆ contains() [2/2]

template<typename U>
auto di::serialization::json::Value::contains ( U && key) const -> bool
inlineconstexpr

◆ empty()

auto di::serialization::json::Value::empty ( ) const -> bool
inlineconstexpr

◆ erase() [1/2]

auto di::serialization::json::Value::erase ( String const & key) -> size_t
inlineconstexpr

◆ erase() [2/2]

template<typename U>
requires (requires { util::declval<Object&>().erase(util::declval<U&>()); })
auto di::serialization::json::Value::erase ( U && key) -> size_t
inlineconstexpr

◆ front() [1/2]

auto di::serialization::json::Value::front ( ) -> Optional<Value&>
inlineconstexpr

◆ front() [2/2]

auto di::serialization::json::Value::front ( ) const -> Optional<Value const&>
inlineconstexpr

◆ insert_or_assign() [1/3]

template<typename V>
requires (concepts::ConstructibleFrom<Value, V>)
auto di::serialization::json::Value::insert_or_assign ( String && key,
V && value ) -> decltype(auto)
inlineconstexpr

◆ insert_or_assign() [2/3]

template<typename V>
requires (concepts::ConstructibleFrom<Value, V>)
auto di::serialization::json::Value::insert_or_assign ( String const & key,
V && value ) -> decltype(auto)
inlineconstexpr

◆ insert_or_assign() [3/3]

template<typename U, typename V>
requires (concepts::ConstructibleFrom<Value, V> && requires { util::declval<Object&>().insert_or_assign(util::declval<U>(), util::declval<Value>()); })
auto di::serialization::json::Value::insert_or_assign ( U && key,
V && value ) -> decltype(auto)
inlineconstexpr

◆ is_array()

auto di::serialization::json::Value::is_array ( ) const -> bool
inlineconstexpr

◆ is_boolean()

auto di::serialization::json::Value::is_boolean ( ) const -> bool
inlineconstexpr

◆ is_false()

auto di::serialization::json::Value::is_false ( ) const -> bool
inlineconstexpr

◆ is_integer()

auto di::serialization::json::Value::is_integer ( ) const -> bool
inlineconstexpr

◆ is_null()

auto di::serialization::json::Value::is_null ( ) const -> bool
inlineconstexpr

◆ is_number()

auto di::serialization::json::Value::is_number ( ) const -> bool
inlineconstexpr

◆ is_object()

auto di::serialization::json::Value::is_object ( ) const -> bool
inlineconstexpr

◆ is_string()

auto di::serialization::json::Value::is_string ( ) const -> bool
inlineconstexpr

◆ is_true()

auto di::serialization::json::Value::is_true ( ) const -> bool
inlineconstexpr

◆ operator[]() [1/5]

auto di::serialization::json::Value::operator[] ( String && key) -> decltype(auto)
inlineconstexpr

◆ operator[]() [2/5]

auto di::serialization::json::Value::operator[] ( String const & key) -> decltype(auto)
inlineconstexpr

◆ operator[]() [3/5]

template<typename U>
requires (requires { util::declval<Object&>()[util::declval<U>()]; })
auto di::serialization::json::Value::operator[] ( U && key) -> decltype(auto)
inlineconstexpr

◆ operator[]() [4/5]

auto di::serialization::json::Value::operator[] ( usize index) -> Value&
inlineconstexpr

◆ operator[]() [5/5]

auto di::serialization::json::Value::operator[] ( usize index) const -> Value const&
inlineconstexpr

◆ pop_back()

auto di::serialization::json::Value::pop_back ( ) -> Optional<Value>
inlineconstexpr

◆ push_back()

auto di::serialization::json::Value::push_back ( Value && value) -> decltype(auto)
inlineconstexpr

◆ size()

auto di::serialization::json::Value::size ( ) const -> usize
inlineconstexpr

◆ try_emplace() [1/3]

template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::serialization::json::Value::try_emplace ( String && key,
Args &&... args ) -> decltype(auto)
inlineconstexpr

◆ try_emplace() [2/3]

template<typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...>)
auto di::serialization::json::Value::try_emplace ( String const & key,
Args &&... args ) -> decltype(auto)
inlineconstexpr

◆ try_emplace() [3/3]

template<typename U, typename... Args>
requires (concepts::ConstructibleFrom<Value, Args...> && requires { util::declval<Object&>().try_emplace(util::declval<U>(), util::declval<Args>()...); })
auto di::serialization::json::Value::try_emplace ( U && key,
Args &&... args ) -> decltype(auto)
inlineconstexpr

Friends And Related Symbol Documentation

◆ operator<=>

friend auto operator<=> ( Value const & a,
container::StringView view )
friend

◆ operator==

friend auto operator== ( Value const & a,
container::StringView view ) -> bool
friend

◆ tag_invoke [1/4]

template<concepts::SameAs< types::Tag< util::create_in_place > > Tag = types::Tag<util::create_in_place>, typename... Args>
requires (concepts::CreatableFrom<String, Args...>)
friend auto tag_invoke ( Tag ,
InPlaceType< Value > ,
Args &&... args )
friend

◆ tag_invoke [2/4]

template<concepts::Encoding Enc, concepts::SameAs< InPlaceType< Value > > X = InPlaceType<Value>, concepts::SameAs< bool > B = bool, concepts::SameAs< types::Tag< format::formatter_in_place > > Tag = types::Tag<format::formatter_in_place>>
friend auto tag_invoke ( Tag ,
X ,
format::FormatParseContext< Enc > & parse_context,
B debug )
friend

◆ tag_invoke [3/4]

friend auto tag_invoke ( types::Tag< serializable > ,
JsonFormat ,
InPlaceType< Value >  ) -> bool
friend

◆ tag_invoke [4/4]

template<typename S>
friend auto tag_invoke ( types::Tag< serialize > ,
JsonFormat ,
S & serializer,
Value const & value ) -> meta::SerializeResult<S>
friend

The documentation for this class was generated from the following file: