|
JSON Voorhees
Killer JSON for C++
|
Deserialization of C++ types from a JSON AST. More...
#include <jsonv/config.hpp>#include <jsonv/ast.hpp>#include <jsonv/detail/scope_exit.hpp>#include <jsonv/forward.hpp>#include <jsonv/optional.hpp>#include <jsonv/parse.hpp>#include <jsonv/parse_index.hpp>#include <jsonv/path.hpp>#include <jsonv/reader.hpp>#include <jsonv/serialization/context.hpp>#include <jsonv/value.hpp>#include <concepts>#include <cstddef>#include <exception>#include <expected>#include <functional>#include <initializer_list>#include <memory>#include <new>#include <optional>#include <set>#include <string>#include <string_view>#include <type_traits>#include <typeinfo>#include <utility>#include <variant>#include <vector>
Include dependency graph for deserialize.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | jsonv::deserialization_error |
Exception thrown if there is any problem running deserialize. More... | |
| class | jsonv::deserialization_error::problem |
| Description of a single problem with deserialization. More... | |
| class | jsonv::deserialize_options |
Configuration for various deserialization options. This becomes part of the deserialization_context. More... | |
| class | jsonv::deserializer |
A deserializer holds the method for converting JSON source into an arbitrary C++ type. More... | |
| class | jsonv::deserialization_context |
| Provides extra information to routines used for deserialization, collects the problems they encounter, and tracks where in the document they are. More... | |
| class | jsonv::deserialization_context::path_scope |
| An RAII guard naming one step of the deserialization path while it is alive. More... | |
Functions | |
| JSONV_PUBLIC value | jsonv::read_value (reader &from) |
Consume the JSON subtree under from starting at reader::current and return it as a fully materialised value tree. | |
| JSONV_PUBLIC value | jsonv::read_value (deserialization_context &context, reader &from) |
| read_value for a deserializer. | |
| template<typename T > | |
| T | jsonv::deserialize (const value &from, const formats &fmts) |
| Deserialize a C++ value from from using the provided fmts. | |
| template<typename T > | |
| T | jsonv::deserialize (const value &from, const formats &fmts, const deserialize_options &options) |
| Deserialize a C++ value from from using the provided fmts and options. | |
| template<typename T > | |
| T | jsonv::deserialize (const value &from) |
Deserialize a C++ value from from using jsonv::formats::global(). | |
| template<typename T > | |
| T | jsonv::deserialize (const value &from, const deserialize_options &options) |
Deserialize a C++ value from from using jsonv::formats::global() and the provided options. | |
| template<typename T > | |
| T | jsonv::deserialize (reader &from, const formats &fmts=formats::global(), const deserialize_options &options=deserialize_options()) |
Deserialize a C++ value from a reader using fmts (by default jsonv::formats::global()) and options. | |
| template<typename T > | |
| T | jsonv::deserialize (reader &from, const deserialize_options &options) |
Deserialize a C++ value from a reader using jsonv::formats::global() and the provided options. | |
| template<typename T > | |
| T | jsonv::deserialize (reader &&from, const formats &fmts=formats::global(), const deserialize_options &options=deserialize_options()) |
| Deserialize a C++ value from a reader which may own its source, using fmts and options. | |
| template<typename T > | |
| T | jsonv::deserialize (reader &&from, const deserialize_options &options) |
Deserialize a C++ value from a reader which may own its source, using jsonv::formats::global() and the provided options. | |
| template<typename T > | |
| T | jsonv::deserialize (reader &from, deserialization_context &context) |
Deserialize a C++ value from a reader through a context the caller built, exactly as the overloads above do with one built from formats and deserialize_options. | |
| template<typename T > | |
| T | jsonv::deserialize (reader &&from, deserialization_context &context) |
Deserialize a C++ value from a reader through a context the caller built, exactly as the overloads above do with one built from formats and deserialize_options. | |
| template<typename T , typename TSource > requires std::convertible_to<TSource, std::string_view> | |
| T | jsonv::deserialize (TSource &&source, const formats &fmts=formats::global(), const deserialize_options &options=deserialize_options()) |
Deserialize a C++ value directly from JSON source text, parsed with parse_opts, using fmts (by default jsonv::formats::global()) and options. | |
| template<typename T , typename TSource > requires std::convertible_to<TSource, std::string_view> | |
| T | jsonv::deserialize (TSource &&source, const deserialize_options &options) |
Deserialize a C++ value from JSON source text using jsonv::formats::global() and the provided options. | |
| template<typename T , typename TSource > requires std::convertible_to<TSource, std::string_view> | |
| T | jsonv::deserialize (TSource &&source, const parse_options &parse_opts, const formats &fmts=formats::global(), const deserialize_options &options=deserialize_options()) |
| Deserialize a C++ value from JSON source text parsed with parse_opts, using fmts and options. | |
| template<typename T , typename TSource > requires std::convertible_to<TSource, std::string_view> | |
| T | jsonv::deserialize (TSource &&source, const parse_options &parse_opts, const deserialize_options &options) |
Deserialize a C++ value from JSON source text parsed with parse_opts, using jsonv::formats::global() and the provided options. | |
| template<typename T , typename TSource > requires std::convertible_to<TSource, std::string_view> | |
| T | jsonv::deserialize (TSource &&source, deserialization_context &context) |
| Deserialize a C++ value directly from JSON source text, parsed with parse_opts where they are given, through a context the caller built. | |
| template<typename T , typename TSource > requires std::convertible_to<TSource, std::string_view> | |
| T | jsonv::deserialize (TSource &&source, const parse_options &parse_opts, deserialization_context &context) |
| Deserialize a C++ value directly from JSON source text, parsed with parse_opts where they are given, through a context the caller built. | |
Deserialization of C++ types from a JSON AST.
Copyright (c) 2015-2026 by Travis Gockel. All rights reserved.
This program is free software: you can redistribute it and/or modify it under the terms of the Apache License as published by the Apache Software Foundation, either version 2 of the License, or (at your option) any later version.
Definition in file deserialize.hpp.