JSON Voorhees
Killer JSON for C++
jsonv::polymorphic_adapter_builder< TPointer > Class Template Reference
+ Inheritance diagram for jsonv::polymorphic_adapter_builder< TPointer >:

Public Member Functions

template<typename F >
 polymorphic_adapter_builder (formats_builder *owner, std::string discrimination_key, F &&f)
 
 polymorphic_adapter_builder (formats_builder *owner, std::string discrimination_key="")
 
polymorphic_adapter_buildercheck_null_input (bool on=true)
 
polymorphic_adapter_buildercheck_null_output (bool on=true)
 
template<typename TSub >
polymorphic_adapter_buildersubtype (value discrimination_value, keyed_subtype_action action=keyed_subtype_action::none)
 
template<typename TSub >
polymorphic_adapter_buildersubtype (std::string discrimination_key, value discrimination_value, keyed_subtype_action action=keyed_subtype_action::none)
 
template<typename TSub >
polymorphic_adapter_buildersubtype (std::function< bool(const extraction_context &, const value &)> discriminator)
 
template<typename TSub >
polymorphic_adapter_buildersubtype (std::function< bool(const value &)> discriminator)
 
- Public Member Functions inherited from jsonv::detail::formats_builder_dsl
 formats_builder_dsl (formats_builder *owner)
 
template<typename T >
adapter_builder< T > type ()
 
template<typename T , typename F >
adapter_builder< T > type (F &&)
 
template<typename TEnum >
formats_builderenum_type (std::string enum_name, std::initializer_list< std::pair< TEnum, value >> mapping)
 
template<typename TEnum >
formats_builderenum_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 &&)
 
template<typename F >
formats_builderextend (F &&)
 
formats_builderregister_adapter (const adapter *p)
 
formats_builderregister_adapter (std::shared_ptr< const adapter > p)
 
formats_builderreference_type (std::type_index typ)
 
formats_builderreference_type (std::type_index type, std::type_index from)
 
template<typename TOptional >
formats_builderregister_optional ()
 
template<typename TContainer >
formats_builderregister_container ()
 
template<typename TWrapper >
formats_builderregister_wrapper ()
 
formats_buildercheck_references (const formats &other, const std::string &name="")
 
formats_buildercheck_references (const formats::list &others, const std::string &name="")
 
formats_buildercheck_references (const std::string &name="")
 
formats_builderon_duplicate_type (duplicate_type_action action) noexcept
 
formats compose_checked (formats other, const std::string &name="")
 
formats compose_checked (std::vector< formats > others, const std::string &name="")
 
 operator formats () const
 

Additional Inherited Members

- Protected Attributes inherited from jsonv::detail::formats_builder_dsl
formats_builderowner
 

Detailed Description

template<typename TPointer>
class jsonv::polymorphic_adapter_builder< TPointer >

Definition at line 32 of file forward.hpp.


The documentation for this class was generated from the following files: