JSON Voorhees
Killer JSON for C++
|
Public Member Functions | |
template<typename T > | |
adapter_builder< T > | type () |
template<typename T , typename F > | |
adapter_builder< T > | type (F &&f) |
template<typename TEnum > | |
formats_builder & | enum_type (std::string enum_name, std::initializer_list< std::pair< TEnum, value >> mapping) |
template<typename TEnum > | |
formats_builder & | enum_type_icase (std::string enum_name, std::initializer_list< std::pair< TEnum, value >> mapping) |
template<typename TPointer > | |
polymorphic_adapter_builder< TPointer > | polymorphic_type (std::string discrimination_key="") |
template<typename TPointer , typename F > | |
polymorphic_adapter_builder< TPointer > | polymorphic_type (std::string discrimination_key, F &&f) |
template<typename F > | |
formats_builder & | extend (F &&func) |
formats_builder & | register_adapter (const adapter *p) |
formats_builder & | register_adapter (std::shared_ptr< const adapter > p) |
template<typename TOptional > | |
formats_builder & | register_optional () |
template<typename TContainer > | |
formats_builder & | register_container () |
template<typename TWrapper > | |
formats_builder & | register_wrapper () |
operator formats () const | |
formats_builder & | reference_type (std::type_index type) |
formats_builder & | reference_type (std::type_index type, std::type_index from) |
formats_builder & | on_duplicate_type (duplicate_type_action action) noexcept |
Assigns the action to perform when a serializer or extractor is being registered by this formats_builder and there is already a serializer or extracter for that type. | |
formats_builder & | check_references (const formats &other, const std::string &name="") |
formats_builder & | check_references (const formats::list &others, const std::string &name="") |
formats_builder & | check_references (const std::string &name="") |
formats | compose_checked (formats other, const std::string &name="") |
formats | compose_checked (const formats::list &others, const std::string &name="") |
Definition at line 1242 of file serialization_builder.hpp.
formats_builder& jsonv::formats_builder::check_references | ( | const formats & | other, |
const std::string & | name = "" |
||
) |
Check that, when combined with the formats
other, all types referenced by this formats_builder
will get decoded properly.
name | if non-empty and this function throws, this name will be provided in the exception's what string. This can be useful if you are running multiple check_references calls and you want to name the different checks. |
std::logic_error | if formats this formats_builder is generating, when combined with the provided other formats , cannot properly serialize all the types. |
Check the references of this builder (see check_references) and compose a formats instance if successful (see formats::compose).