|
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.