JSON Voorhees
Killer JSON for C++
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 1234]
 Cjsonv::detail::adapter_builder_dsl< T >
 Cjsonv::member_adapter_builder< T, TMember >
 Cjsonv::detail::basic_owner< T >Something that owns an object
 Cjsonv::detail::basic_owner< TContainer >
 Cjsonv::detail::basic_owning_view< TContainer, TIterator, TConstIterator >A form of basic_view that owns the object it is iterating over
 Cjsonv::detail::basic_view< TIterator, TConstIterator >A view template used for array and object views of a value
 Cjsonv::detail::basic_owning_view< TContainer, TIterator, TConstIterator >A form of basic_view that owns the object it is iterating over
 Cjsonv::compare_traitsTraits describing how to perform various aspects of comparison
 Cjsonv::context_baseProvides extra information to routines used for extraction
 Cjsonv::extraction_context
 Cjsonv::serialization_context
 Cjsonv::diff_resultThe results of the diff operation
 Cjsonv::encoderAn encoder is responsible for writing values to some form of output
 Cjsonv::ostream_encoderAn encoder that outputs to an std::ostream
 Cjsonv::ostream_pretty_encoder
 Cstd::exceptionSTL class
 Cstd::logic_errorSTL class
 Cjsonv::kind_errorThrown from various value methods when attempting to perform an operation which is not valid for the kind of value
 Cstd::invalid_argumentSTL class
 Cjsonv::duplicate_type_errorException thrown if an insertion of an extractor or serializer into a formats is attempted, but there is already an extractor or serializer for that type
 Cstd::runtime_errorSTL class
 Cjsonv::extraction_errorException thrown if there is any problem running extract
 Cjsonv::no_extractorThrown when formats::extract does not have an extractor for the provided type
 Cjsonv::no_serializerThrown when formats::to_json does not have a serializer for the provided type
 Cjsonv::parse_errorAn error encountered when parsing
 Cjsonv::validation_errorError thrown when an unrepresentable value is encountered in a JSON AST
 Cjsonv::extractorAn extractor holds the method for converting a value into an arbitrary C++ type
 Cjsonv::adapterAn adapter is both an extractor and a serializer
 Cjsonv::adapter_for< optional< T > >
 Cjsonv::container_adapter< optional< T > >
 Cjsonv::adapter_for< TContainer >
 Cjsonv::container_adapter< TContainer >An adapter for container types
 Cjsonv::adapter_for< TEnum >
 Cjsonv::enum_adapter< TEnum, FEnumComp, FValueComp >An adapter for enumeration types
 Cjsonv::adapter_for< TOptional >
 Cjsonv::optional_adapter< TOptional >An adapter for optional-like types
 Cjsonv::adapter_for< TPointer >
 Cjsonv::polymorphic_adapter< TPointer >An adapter which can create polymorphic types
 Cjsonv::adapter_for< TWrapper >
 Cjsonv::wrapper_adapter< TWrapper >An adapter for "wrapper" types
 Cjsonv::adapter_for< T >
 Cjsonv::function_adapter< T, FExtract, FToJson >
 Cjsonv::extractor_construction< T >
 Cjsonv::extractor_for< T >
 Cjsonv::function_extractor< T, FExtract >
 CFCompare
 Cjsonv::basic_value_binary_predicate< FCompare, FResult >
 Cjsonv::formatsSimply put, this class is a collection of extractor and serializer instances
 Cjsonv::formats_builder
 Cjsonv::detail::formats_builder_dsl
 Cjsonv::adapter_builder< T >
 Cjsonv::member_adapter_builder< T, TMember >
 Cjsonv::polymorphic_adapter_builder< TPointer >
 CFResult
 Cjsonv::basic_value_binary_predicate< FCompare, FResult >
 Cjsonv::detail::generic_container< TStorage >A generic container that exposes the traversal and modification operations externally
 Cjsonv::detail::generic_container< std::vector< path_element > >
 Cjsonv::pathRepresents an exact path in some JSON structure
 Cstd::hash< jsonv::value >Explicit specialization of std::hash for jsonv::value types so you can store a value in an unordered container
 Citerator
 Cjsonv::value::basic_object_iterator< const object_value_type, std::map< std::string, value >::const_iterator >
 Cjsonv::value::basic_array_iterator< T, TArrayView >The base type for iterating over array values
 Cjsonv::value::basic_object_iterator< T, TIterator >The base iterator type for iterating over object types
 Cjsonv::detail::member_adapter< T >
 Cjsonv::detail::member_adapter_impl< T, TMember >
 Cjsonv::merge_rulesThis class is used in merge_explicit for defining what the function should do in the cases of conflicts
 Cjsonv::dynamic_merge_rulesAn implementation of merge_rules that allows you to bind whatever functions you want to resolve conflicts
 Cjsonv::recursive_merge_rulesThese rules will recursively merge everything they can and coerce all values
 Cjsonv::throwing_merge_rulesThese rules throw an exception on all conflicts
 Cnested_exception
 Cjsonv::extraction_errorException thrown if there is any problem running extract
 Cjsonv::value::object_insert_return_typeType returned from insert operations when this has kind::object
 Cjsonv::object_node_handleA node handle used when a value is kind::object to access elements of the object in potentially destructive manner
 Cjsonv::parse_optionsConfiguration for various parsing options
 Cjsonv::path_element
 Cjsonv::parse_error::problemDescription of a single parsing problem
 Cjsonv::detail::scope_exit_invoker< Function >
 Cjsonv::serializerA serializer holds the method for converting an arbitrary C++ type into a value
 Cjsonv::adapterAn adapter is both an extractor and a serializer
 Cjsonv::serializer_for< T >
 Cjsonv::function_serializer< T, FToJson >
 Cjsonv::detail::string_viewA non-owning reference to an std::string, as proposed to the C++ Standard Committee by Jeffrey Yasskin in N3921 (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n3921.html)
 Cjsonv::tokenizer::tokenA representation of what this tokenizer has
 Cjsonv::tokenizerSplits input into tokens, allowing traversal of JSON without verification
 Cjsonv::valueRepresents a single JSON value, which can be any one of a potential kind, each behaving slightly differently
 Cjsonv::value_compareCompares a value to another using the standard-issue value::compare function
 Cjsonv::value_compare_icaseCompares two values, ignoring the case for any value with kind::string
 Cjsonv::detail::value_storage
 Cjsonv::versionRepresents a version used to extract and encode JSON objects from C++ classes