|
JSON Voorhees
Killer JSON for C++
|
Extraction of C++ types from a JSON AST. More...
#include <jsonv/config.hpp>#include <jsonv/ast.hpp>#include <jsonv/detail/scope_exit.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 <initializer_list>#include <memory>#include <new>#include <optional>#include <string>#include <string_view>#include <type_traits>#include <typeinfo>#include <utility>#include <variant>#include <vector>
Include dependency graph for extract.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | jsonv::extraction_error |
Exception thrown if there is any problem running extract. More... | |
| class | jsonv::extraction_error::problem |
| Description of a single problem with extraction. More... | |
| class | jsonv::extract_options |
Configuration for various extraction options. This becomes part of the extraction_context. More... | |
| class | jsonv::extractor |
An extractor holds the method for converting JSON source into an arbitrary C++ type. More... | |
| class | jsonv::extraction_context |
| Provides extra information to routines used for extraction, collects the problems they encounter, and tracks where in the document they are. More... | |
| class | jsonv::extraction_context::path_scope |
| An RAII guard naming one step of the extraction 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. | |
| template<typename T > | |
| T | jsonv::extract (const value &from, const formats &fmts) |
| Extract a C++ value from from using the provided fmts. | |
| template<typename T > | |
| T | jsonv::extract (const value &from, const formats &fmts, const extract_options &options) |
| Extract a C++ value from from using the provided fmts and options. | |
| template<typename T > | |
| T | jsonv::extract (const value &from) |
Extract a C++ value from from using jsonv::formats::global(). | |
| template<typename T > | |
| T | jsonv::extract (const value &from, const extract_options &options) |
Extract a C++ value from from using jsonv::formats::global() and the provided options. | |
Extraction 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 extract.hpp.