|
JSON Voorhees
Killer JSON for C++
|
An extractor for a type T with an extracting constructor.
More...
#include <jsonv/serialization/extractor_construction.hpp>
Inheritance diagram for jsonv::extractor_construction< T >:
Collaboration diagram for jsonv::extractor_construction< T >:Public Member Functions | |
| virtual const std::type_info & | get_type () const noexcept override |
| virtual std::expected< void, ast_node_type > | extract (extraction_context &context, reader &from, void *into) const override |
An extractor for a type T with an extracting constructor.
Four constructor shapes are accepted, preferred in this order: T(reader&, extraction_context&), T(reader&), T(const value&, extraction_context&) and T(const value&). The last two are the shapes which predate extraction running off a reader; they are handed a subtree materialised by read_value, so they keep working but pay for the tree they were always paying for.
Definition at line 32 of file extractor_construction.hpp.
|
inlineoverridevirtual |
Implements jsonv::extractor.
Definition at line 46 of file extractor_construction.hpp.
|
inlineoverridevirtualnoexcept |
Implements jsonv::extractor.
Definition at line 38 of file extractor_construction.hpp.