|
template<typename T>
requires (concepts::ConstructibleFrom<Reader, T>) |
constexpr | JsonDeserializer (T &&reader) |
|
constexpr auto | deserialize (InPlaceType< json::Value >) -> Result< json::Value > |
|
template<typename T, concepts::InstanceOf< reflection::Fields > M> |
constexpr auto | deserialize (InPlaceType< T >, M fields) -> Result< T > |
|
template<typename T, concepts::InstanceOf< reflection::Enumerators > M> |
constexpr auto | deserialize (InPlaceType< T >, M enumerators) -> Result< T > |
|
template<typename T, concepts::InstanceOf< reflection::Atom > M>
requires (M::is_bool() || M::is_integer() || M::is_string()) |
constexpr auto | deserialize (InPlaceType< T >, M) -> Result< T > |
|
template<typename T, concepts::InstanceOf< reflection::Atom > M>
requires (M::is_list() && concepts::Deserializable<meta::ContainerValue<T>, JsonDeserializer>) |
constexpr auto | deserialize (InPlaceType< T >, M) -> Result< T > |
|
template<typename T, concepts::InstanceOf< reflection::Atom > M>
requires (M::is_map() && concepts::SameAs<json::String, meta::TupleElement<meta::ContainerValue<T>, 0>> && concepts::Deserializable<meta::TupleElement<meta::ContainerValue<T>, 1>, JsonDeserializer>) |
constexpr auto | deserialize (InPlaceType< T >, M) -> Result< T > |
|
constexpr auto | deserialize (InPlaceType< json::Null >) -> Result< json::Null > |
|
constexpr auto | reader () &-> Reader & |
|
constexpr auto | reader () const &-> Reader const & |
|
constexpr auto | reader () &&-> Reader && |
|
A deserializer for the JSON format.
- Template Parameters
-
Reader | The type of the reader to read from. |
This implements the JSON grammar as specified in RFC 8259.