| ▼Cjsonv::detail::adapter_builder_dsl< T > | |
| Cjsonv::member_adapter_builder< T, TMember > | |
| Cjsonv::ast_node | Represents an entry in a JSON AST |
| ▼Cjsonv::ast_node::base< TSelf, KIndexToken > | |
| ►Cjsonv::ast_node::basic_dynamic_size_token< decimal, ast_node_type::decimal > | |
| Cjsonv::ast_node::decimal | |
| ►Cjsonv::ast_node::basic_dynamic_size_token< error, ast_node_type::error > | |
| Cjsonv::ast_node::error | |
| ►Cjsonv::ast_node::basic_dynamic_size_token< integer, ast_node_type::integer > | |
| Cjsonv::ast_node::integer | |
| Cjsonv::ast_node::basic_dynamic_size_token< key_canonical, KIndexToken > | |
| Cjsonv::ast_node::basic_dynamic_size_token< key_escaped, KIndexToken > | |
| Cjsonv::ast_node::basic_dynamic_size_token< string_canonical, KIndexToken > | |
| Cjsonv::ast_node::basic_dynamic_size_token< string_escaped, KIndexToken > | |
| ►Cjsonv::ast_node::basic_fixed_size_token< array_begin, ast_node_type::array_begin, 1U > | |
| Cjsonv::ast_node::array_begin | The beginning of an kind::array ([) |
| ►Cjsonv::ast_node::basic_fixed_size_token< array_end, ast_node_type::array_end, 1U > | |
| Cjsonv::ast_node::array_end | The end of an kind::array (]) |
| ►Cjsonv::ast_node::basic_fixed_size_token< document_end, ast_node_type::document_end, 0U > | |
| Cjsonv::ast_node::document_end | The end of a document |
| ►Cjsonv::ast_node::basic_fixed_size_token< document_start, ast_node_type::document_start, 0U > | |
| Cjsonv::ast_node::document_start | The start of a document |
| ►Cjsonv::ast_node::basic_fixed_size_token< literal_false, ast_node_type::literal_false, 5U > | |
| Cjsonv::ast_node::literal_false | |
| ►Cjsonv::ast_node::basic_fixed_size_token< literal_null, ast_node_type::literal_null, 4U > | |
| Cjsonv::ast_node::literal_null | |
| ►Cjsonv::ast_node::basic_fixed_size_token< literal_true, ast_node_type::literal_true, 4U > | |
| Cjsonv::ast_node::literal_true | |
| ►Cjsonv::ast_node::basic_fixed_size_token< object_begin, ast_node_type::object_begin, 1U > | |
| Cjsonv::ast_node::object_begin | The beginning of an kind::object ({) |
| ►Cjsonv::ast_node::basic_fixed_size_token< object_end, ast_node_type::object_end, 1U > | |
| Cjsonv::ast_node::object_end | The end of an kind::object (}) |
| ►Cjsonv::ast_node::basic_dynamic_size_token< TSelf, KIndexToken > | |
| ►Cjsonv::ast_node::basic_string_token< key_canonical, ast_node_type::key_canonical, false > | |
| Cjsonv::ast_node::key_canonical | |
| ►Cjsonv::ast_node::basic_string_token< key_escaped, ast_node_type::key_escaped, true > | |
| Cjsonv::ast_node::key_escaped | |
| ►Cjsonv::ast_node::basic_string_token< string_canonical, ast_node_type::string_canonical, false > | |
| Cjsonv::ast_node::string_canonical | |
| ►Cjsonv::ast_node::basic_string_token< string_escaped, ast_node_type::string_escaped, true > | |
| Cjsonv::ast_node::string_escaped | |
| Cjsonv::ast_node::basic_string_token< TSelf, KIndexToken, KEscaped > | |
| Cjsonv::ast_node::basic_fixed_size_token< TSelf, KIndexToken, KTokenSize > | |
| Cjsonv::ast_node::base< array_begin, KIndexToken > | |
| Cjsonv::ast_node::base< array_end, KIndexToken > | |
| Cjsonv::ast_node::base< decimal, KIndexToken > | |
| Cjsonv::ast_node::base< document_end, KIndexToken > | |
| Cjsonv::ast_node::base< document_start, KIndexToken > | |
| Cjsonv::ast_node::base< error, KIndexToken > | |
| Cjsonv::ast_node::base< integer, KIndexToken > | |
| Cjsonv::ast_node::base< key_canonical, KIndexToken > | |
| Cjsonv::ast_node::base< key_escaped, KIndexToken > | |
| Cjsonv::ast_node::base< literal_false, KIndexToken > | |
| Cjsonv::ast_node::base< literal_null, KIndexToken > | |
| Cjsonv::ast_node::base< literal_true, KIndexToken > | |
| Cjsonv::ast_node::base< object_begin, KIndexToken > | |
| Cjsonv::ast_node::base< object_end, KIndexToken > | |
| Cjsonv::ast_node::base< string_canonical, KIndexToken > | |
| Cjsonv::ast_node::base< string_escaped, KIndexToken > | |
| 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::value::basic_object_iterator< const object_value_type, std::map< std::string, value >::const_iterator > | |
| Cjsonv::compare_traits | Traits describing how to perform various aspects of comparison |
| ▼Cjsonv::context | Provides extra information to routines used for extraction and serialization |
| Cjsonv::extraction_context | Provides extra information to routines used for extraction, collects the problems they encounter, and tracks where in the document they are |
| Cjsonv::serialization_context | |
| Cjsonv::diff_result | The results of the diff operation |
| ▼Cjsonv::encoder | An encoder is responsible for writing values to some form of output |
| ►Cjsonv::ostream_encoder | An encoder that outputs to an std::ostream |
| Cjsonv::ostream_pretty_encoder | |
| ▼Cstd::exception | STL class |
| ►Cstd::logic_error | STL class |
| Cjsonv::kind_error | Thrown from various value methods when attempting to perform an operation which is not valid for the kind of value |
| ►Cstd::invalid_argument | STL class |
| Cjsonv::duplicate_type_error | Exception 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_error | STL class |
| Cjsonv::extraction_error | Exception thrown if there is any problem running extract |
| Cjsonv::no_extractor | Thrown when formats::extract does not have an extractor for the provided type |
| Cjsonv::no_serializer | Thrown when formats::to_json does not have a serializer for the provided type |
| Cjsonv::parse_error | An error encountered when parsing |
| Cjsonv::validation_error | Error thrown when an unrepresentable value is encountered in a JSON AST |
| Cjsonv::extract_options | Configuration for various extraction options. This becomes part of the extraction_context |
| ▼Cjsonv::extractor | An extractor holds the method for converting JSON source into an arbitrary C++ type |
| ►Cjsonv::adapter | An adapter is both an extractor and a serializer |
| ►Cjsonv::adapter_for< TContainer > | |
| Cjsonv::container_adapter< TContainer > | An adapter for container types |
| Cjsonv::adapter_for< TEnum > | |
| ►Cjsonv::adapter_for< TOptional > | |
| Cjsonv::optional_adapter< TOptional > | An adapter for optional-like types |
| Cjsonv::adapter_for< TPointer > | |
| ►Cjsonv::adapter_for< TWrapper > | |
| Cjsonv::wrapper_adapter< TWrapper > | An adapter for "wrapper" types |
| ►Cjsonv::adapter_for< T > | An adapter for the type T |
| ►Cjsonv::value_adapter_for< TEnum > | |
| Cjsonv::enum_adapter< TEnum, FEnumComp, FValueComp > | An adapter for enumeration types |
| ►Cjsonv::value_adapter_for< TPointer > | |
| Cjsonv::polymorphic_adapter< TPointer > | An adapter which can create polymorphic types |
| Cjsonv::function_adapter< T, FExtract, FToJson > | |
| Cjsonv::value_adapter_for< T > | A base for adapters written against the older value -based extraction interface |
| Cjsonv::extractor_construction< T > | An extractor for a type T with an extracting constructor |
| ►Cjsonv::extractor_for< T > | An extractor for type T |
| Cjsonv::function_extractor< T, FExtract > | An extractor which calls a function to perform extraction |
| ▼CFCompare | |
| Cjsonv::basic_value_binary_predicate< FCompare, FResult > | |
| Cjsonv::formats | Simply 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< std::vector< path_element > > | |
| Cjsonv::path | Represents an exact path in some JSON structure |
| Cjsonv::parse_index::iterator | |
| Cjsonv::parse_options::k | |
| ▼Cjsonv::merge_rules | This class is used in merge_explicit for defining what the function should do in the cases of conflicts |
| Cjsonv::dynamic_merge_rules | An implementation of merge_rules that allows you to bind whatever functions you want to resolve conflicts |
| Cjsonv::recursive_merge_rules | These rules will recursively merge everything they can and coerce all values |
| Cjsonv::throwing_merge_rules | These rules throw an exception on all conflicts |
| Cjsonv::value::object_insert_return_type | Type returned from insert operations when this has kind::object |
| Cjsonv::object_node_handle | A node handle used when a value is kind::object to access elements of the object in potentially destructive manner |
| Cjsonv::parse_index | Represents the index of a parsed AST |
| Cjsonv::parse_options | Configuration for various parsing options |
| Cjsonv::path_element | |
| Cjsonv::extraction_context::path_scope | An RAII guard naming one step of the extraction path while it is alive |
| Cjsonv::extraction_error::problem | Description of a single problem with extraction |
| Cjsonv::reader | A reader instance reads from some form of JSON source (probably a string) and converts it into a JSON ast_node sequence |
| ▼Cjsonv::serializer | A serializer holds the method for converting an arbitrary C++ type into a value |
| Cjsonv::adapter | An adapter is both an extractor and a serializer |
| ►Cjsonv::serializer_for< T > | |
| Cjsonv::function_serializer< T, FToJson > | |
| Cjsonv::value | Represents a single JSON value, which can be any one of a potential kind, each behaving slightly differently |
| Cjsonv::value_compare | Compares a value to another using the standard-issue value::compare function |
| Cjsonv::value_compare_icase | Compares two values, ignoring the case for any value with kind::string |
| Cjsonv::version | Represents a version used to extract and encode JSON objects from C++ classes |