▼Ndaw | |
►Njson | Customization point traits |
►Nanonymous_namespace{daw_container_traits.h} | |
►Nconcepts | |
Ccontainer_traits< std::array< T, N > > | |
Ccontainer_traits< T DAW_JSON_ENABLEIF_S(container_detect::is_container_v< T >)> | |
►Nanonymous_namespace{daw_container_traits_fwd.h} | |
►Nconcepts | |
Ccontainer_traits | Concept to help deduce container types |
►Nanonymous_namespace{daw_json_alternate_mapping.h} | |
Cdefault_constructor< json_alt< T, I > > | Default constructor for json_alt is to construct the base type |
Cjson_alt | Allows for alternate/multiple mappings of types that already have mappings |
►Nanonymous_namespace{daw_json_container_appender.h} | |
Cbasic_appender | |
►Nanonymous_namespace{daw_json_data_contract.h} | |
Cjson_data_contract | Mapping class for JSON data structures to C++. It must be specialized in order to parse to a user class |
Cmissing_json_data_contract_for_or_unknown_type | This class is used as a way to indicate that a json_data_contract specialization has not been done for a user class |
►Nanonymous_namespace{daw_json_default_constuctor.h} | |
Cdefault_constructor< std::array< T, Sz > > | Default constructor type for std::array and allows (Iterator, Iterator) construction |
Cdefault_constructor< std::unordered_map< Key, T, Hash, CompareEqual, Alloc > > | Default constructor for std::unordered_map. Allows construction via (Iterator, Iterator, Allocator) |
Cdefault_constructor< std::vector< T, Alloc > > | Default constructor type for std::vector. It will reserve up front for non-random iterators |
Cnullable_constructor< T DAW_JSON_ENABLEIF_S(concepts::is_nullable_value_v< T >)> | Default constructor for readable nullable types |
►Nanonymous_namespace{daw_json_default_constuctor_fwd.h} | |
Cdefault_constructor | Default Constructor for a type. It accounts for aggregate types and uses brace construction for them |
Cnullable_constructor | Default constructor for nullable types. Specializations must accept accept an operator( )( ) that signifies a JSON null. Any other arguments only need to be valid to construct the type |
►Nanonymous_namespace{daw_json_event_parser.h} | |
CDefaultJsonEventParserStackPolicy | |
CJsonEventParserStackValue | |
►Nanonymous_namespace{daw_json_exec_modes.h} | |
Cconstexpr_exec_tag | |
Cruntime_exec_tag | |
Csimd_exec_tag | |
►Nanonymous_namespace{daw_json_find_path.h} | |
Cjson_path_node | |
►Nanonymous_namespace{daw_json_iterator.h} | |
Cjson_array_iterator_once | Iterator for iterating over JSON array's. Requires that op op++ be called in that sequence one time until end is reached |
Cjson_array_iterator_t | |
Cjson_array_range | A range of json_array_iterators |
Cjson_array_range_once | A range of json_array_iterator_onces. Requires that op*/op++ be called in that sequence one time untl end is reached |
►Nanonymous_namespace{daw_json_lines_iterator.h} | |
Cjson_lines_iterator | Iterator for iterating over JSON array's |
Cjson_lines_range | A range of json_lines_iterators |
►Nanonymous_namespace{daw_json_link_types.h} | |
►Njson_base | |
Cjson_array | |
Cjson_bool | |
Cjson_class | |
Cjson_custom | |
Cjson_date | |
Cjson_intrusive_variant | |
Cjson_key_value | |
Cjson_key_value_array | |
Cjson_nullable | Mark a member as nullable |
Cjson_number | |
Cjson_raw | |
Cjson_sized_array | |
Cjson_string | |
Cjson_string_raw | String - A raw string as is. Escapes are left in |
Cjson_tagged_variant | |
Cjson_tuple | |
Cjson_variant | |
Cjson_array | |
Cjson_bool | |
Cjson_class | |
Cjson_custom | Allow parsing of a type that does not fit |
Cjson_data_contract< basic_json_value< PolicyFlags, Allocator > > | |
Cjson_data_contract< tuple_json_mapping< Members... > > | |
Cjson_date | |
Cjson_intrusive_variant | |
Cjson_key_value | |
Cjson_key_value_array | Map a KV type json array [ {"key": ValueOfKeyType, "value": ValueOfValueType},... ] to a c++ class. needs to be constructable with a pointer, size |
Cjson_member_list | |
Cjson_nullable | |
Cjson_number | |
Cjson_raw | |
Cjson_sized_array | |
Cjson_string | |
Cjson_string_raw | |
Cjson_submember_tagged_variant | |
Cjson_tagged_variant | |
Cjson_tuple | |
Cjson_tuple_member | |
Cjson_tuple_member_list | Allow extracting elements from a JSON array and constructing from it. Members can be either normal C++ no_name members, or an ordered_member with a position. All ordered members must have a value greater than the previous. The first element in the list, unless it is specified as an ordered_member, is 0. A non-ordered_member item will be 1 more than the previous item in the list. All items must have an index greater than the previous. In Javascript these are also called tuples |
Cjson_type_alias | |
Cjson_variant | |
Cnon_discriminated_variant_base_map | |
Cnon_discriminated_variant_base_map< json_variant_type_list< JsonElements... > > | This ensures that we only map to up to one of each of the basic JSON types(Number, Bool, String, Array, Class) plus being optionally nullable |
Ctuple_json_mapping | |
►Nanonymous_namespace{daw_json_link_types_fwd.h} | |
Cjson_array | |
Cjson_bool | |
Cjson_class | |
Cjson_custom | |
Cjson_date | |
Cjson_intrusive_variant | |
Cjson_key_value | |
Cjson_key_value_array | |
Cjson_nullable | Mark a member as nullable |
Cjson_number | |
Cjson_sized_array | |
Cjson_string | |
Cjson_string_raw | |
Cjson_tagged_variant | |
Cjson_tuple | Map a tuple like type to a a JSON tuple/heterogeneous array |
Cjson_tuple_types_list | |
Cjson_variant | |
Cjson_variant_type_list | |
►Nanonymous_namespace{daw_json_link_types_iso8601.h} | |
Cconstruct_from_iso8601_timestamp | |
Cconstruct_from_iso8601_timestamp< std::chrono::time_point< Clock, Duration > > | |
►Nanonymous_namespace{daw_json_parse_common.h} | |
►Njson_base | |
Cjson_array | |
Cjson_bool | |
Cjson_class | |
Cjson_custom | |
Cjson_date | |
Cjson_key_value | |
Cjson_key_value_array | |
Cjson_nullable | Mark a member as nullable |
Cjson_number | |
Cjson_raw | |
Cjson_string | |
Cjson_string_raw | |
Cjson_tagged_variant | |
Cjson_tuple | |
Cjson_variant | |
►Nanonymous_namespace{daw_json_parse_iso8601_utils.h} | |
►Ndatetime | |
Cdate_parts | |
Ctime_parts | |
Cymdhms | |
►Nanonymous_namespace{daw_json_parse_policy.h} | |
►Noptions | |
Cparse_flags_t | |
Cparse_flags_t<> | |
►CBasicParsePolicy | Handles the bounds and policy items for parsing execution and comments |
Cclass_pos_t | |
CDefaultParsePolicy | |
►Nanonymous_namespace{daw_json_parse_policy_cpp_comments.h} | |
CCppCommentSkippingPolicy | |
►Nanonymous_namespace{daw_json_parse_policy_hash_comments.h} | |
CHashCommentSkippingPolicy | |
►Nanonymous_namespace{daw_json_parse_policy_no_comments.h} | |
CNoCommentSkippingPolicy | |
►Nanonymous_namespace{daw_json_serialize_policy.h} | |
Cserialization_policy | |
►Nanonymous_namespace{daw_json_traits.h} | |
Ctuple_elements_pack | Allow tuple like types to be used in json_tuple |
Ctuple_elements_pack< daw::fwd_pack< Ts... > > | |
Ctuple_elements_pack< std::tuple< Ts... > > | |
►Nanonymous_namespace{daw_json_value.h} | |
Cbasic_json_pair | A name/value pair of string_view/json_value |
Cbasic_json_value | A non-owning container for arbitrary JSON values that allows movement/iteration through |
Cbasic_json_value_iterator | Iterator for iterating over arbitrary JSON members and array elements |
Cbasic_json_value_iterator_range | Rudimentary range object for holding basic_json_value_iterator |
►Nanonymous_namespace{daw_json_value_fwd.h} | |
Cbasic_json_value | A container for arbitrary JSON values |
►Nanonymous_namespace{daw_json_value_state.h} | |
Cbasic_stateful_json_value | |
Cjson_member_name | |
►Nanonymous_namespace{daw_nullable_value.h} | |
►Nconcepts | |
Cnullable_value_traits< std::optional< T > > | |
Cnullable_value_traits< std::shared_ptr< T > > | |
Cnullable_value_traits< std::unique_ptr< T > > | |
Cnullable_value_traits< T * > | |
►Nanonymous_namespace{daw_nullable_value_fwd.h} | |
►Nconcepts | |
Cconstruct_nullable_with_empty_t | |
Cconstruct_nullable_with_pointer_t | |
Cconstruct_nullable_with_value_t | |
Cnullable_value_traits | Readable values models an option/maybe/nullable type |
►Nanonymous_namespace{daw_to_json_fwd.h} | |
►Noptions | |
Coutput_flags_t | Specify output policy flags in to_json calls. See cookbook item output_options.md |
Coutput_flags_t<> | Specify output policy flags in to_json calls. See cookbook item output_options.md |
►Nanonymous_namespace{daw_writable_output_cstdio.h} | |
►Nconcepts | |
Cwritable_output_trait< std::FILE * > | Specialization for FILE * streams |
►Nanonymous_namespace{daw_writable_output_fwd.h} | |
►Nconcepts | |
Cwritable_output_trait | Writable output models write/putc methods to allow efficient output to buffers/FILE streams/ostreams/and containers with less allocation/size checks Specializations must have static T write( T,
StringViews... ), static T put( T, char ), and static bool value. StringViews work will have a .size( ) and .data( ) member function, and have a character element type |
►Nanonymous_namespace{daw_writable_output_ostream.h} | |
►Nconcepts | |
Cwritable_output_trait< T DAW_JSON_ENABLEIF_S(std::is_base_of_v< std::ostream, T >)> | Specialization for ostream & |
►Nanonymous_namespace{to_daw_json_string.h} | |
Cdefault_from_json_converter_t | |
Cdefault_to_json_converter_t | |
►Nconcepts | |
Ccontainer_traits< std::array< T, N > > | |
Ccontainer_traits< T DAW_JSON_ENABLEIF_S(container_detect::is_container_v< T >)> | |
►Ndatetime | |
Cdate_parts | |
Ctime_parts | |
Cymdhms | |
►Ninline | |
►Nexperimental | |
Cenum_string | |
Crefl_enum_string | |
Crefl_ignore_with_default | |
Crefl_ignore_with_value | |
Crefl_map_as | |
Crefl_rename | |
Creflect_t | |
Cenum_string | |
Cjson_data_contract< T > | |
Crefl_enum_string | |
Crefl_ignore_with_default | |
Crefl_ignore_with_value | |
Crefl_map_as | |
Crefl_rename | |
Creflect_t | |
►Njson_base | |
Cjson_array | |
Cjson_bool | |
Cjson_class | |
Cjson_custom | |
Cjson_date | |
Cjson_intrusive_variant | |
Cjson_key_value | |
Cjson_key_value_array | |
Cjson_nullable | Mark a member as nullable |
Cjson_number | |
Cjson_raw | |
Cjson_sized_array | |
Cjson_string | |
Cjson_string_raw | String - A raw string as is. Escapes are left in |
Cjson_tagged_variant | |
Cjson_tuple | |
Cjson_variant | |
Cbasic_appender | |
Cbasic_json_pair | A name/value pair of string_view/json_value |
Cbasic_json_value | A non-owning container for arbitrary JSON values that allows movement/iteration through |
Cbasic_json_value_iterator | Iterator for iterating over arbitrary JSON members and array elements |
Cbasic_json_value_iterator_range | Rudimentary range object for holding basic_json_value_iterator |
Cbasic_stateful_json_value | |
►CBasicParsePolicy | Handles the bounds and policy items for parsing execution and comments |
Cclass_pos_t | |
Cconstexpr_exec_tag | |
Cconstruct_from_iso8601_timestamp | |
Cconstruct_from_iso8601_timestamp< std::chrono::time_point< Clock, Duration > > | |
CCppCommentSkippingPolicy | |
Cdefault_constructor | Default Constructor for a type. It accounts for aggregate types and uses brace construction for them |
Cdefault_constructor< json_alt< T, I > > | Default constructor for json_alt is to construct the base type |
Cdefault_constructor< std::array< T, Sz > > | Default constructor type for std::array and allows (Iterator, Iterator) construction |
Cdefault_constructor< std::unordered_map< Key, T, Hash, CompareEqual, Alloc > > | Default constructor for std::unordered_map. Allows construction via (Iterator, Iterator, Allocator) |
Cdefault_constructor< std::vector< T, Alloc > > | Default constructor type for std::vector. It will reserve up front for non-random iterators |
Cdefault_from_json_converter_t | |
Cdefault_to_json_converter_t | |
CDefaultJsonEventParserStackPolicy | |
CDefaultParsePolicy | |
CHashCommentSkippingPolicy | |
Cjson_alt | Allows for alternate/multiple mappings of types that already have mappings |
Cjson_array | |
Cjson_array_iterator_once | Iterator for iterating over JSON array's. Requires that op op++ be called in that sequence one time until end is reached |
Cjson_array_iterator_t | |
Cjson_array_range | A range of json_array_iterators |
Cjson_array_range_once | A range of json_array_iterator_onces. Requires that op*/op++ be called in that sequence one time untl end is reached |
Cjson_bool | |
Cjson_class | |
Cjson_custom | Allow parsing of a type that does not fit |
Cjson_data_contract | Mapping class for JSON data structures to C++. It must be specialized in order to parse to a user class |
Cjson_data_contract< basic_json_value< PolicyFlags, Allocator > > | |
Cjson_data_contract< T > | |
Cjson_data_contract< tuple_json_mapping< Members... > > | |
Cjson_date | |
Cjson_intrusive_variant | |
Cjson_key_value | |
Cjson_key_value_array | Map a KV type json array [ {"key": ValueOfKeyType, "value": ValueOfValueType},... ] to a c++ class. needs to be constructable with a pointer, size |
Cjson_lines_iterator | Iterator for iterating over JSON array's |
Cjson_lines_range | A range of json_lines_iterators |
Cjson_member_list | |
Cjson_member_name | |
Cjson_nullable | |
Cjson_number | |
Cjson_path_node | |
Cjson_raw | |
Cjson_sized_array | |
Cjson_string | |
Cjson_string_raw | |
Cjson_submember_tagged_variant | |
Cjson_tagged_variant | |
Cjson_tuple | |
Cjson_tuple_member | |
Cjson_tuple_member_list | Allow extracting elements from a JSON array and constructing from it. Members can be either normal C++ no_name members, or an ordered_member with a position. All ordered members must have a value greater than the previous. The first element in the list, unless it is specified as an ordered_member, is 0. A non-ordered_member item will be 1 more than the previous item in the list. All items must have an index greater than the previous. In Javascript these are also called tuples |
Cjson_tuple_types_list | |
Cjson_type_alias | |
Cjson_variant | |
Cjson_variant_type_list | |
CJsonEventParserStackValue | |
Cmissing_json_data_contract_for_or_unknown_type | This class is used as a way to indicate that a json_data_contract specialization has not been done for a user class |
CNoCommentSkippingPolicy | |
Cnon_discriminated_variant_base_map | |
Cnon_discriminated_variant_base_map< json_variant_type_list< JsonElements... > > | This ensures that we only map to up to one of each of the basic JSON types(Number, Bool, String, Array, Class) plus being optionally nullable |
Cnullable_constructor | Default constructor for nullable types. Specializations must accept accept an operator( )( ) that signifies a JSON null. Any other arguments only need to be valid to construct the type |
Cnullable_constructor< T DAW_JSON_ENABLEIF_S(concepts::is_nullable_value_v< T >)> | Default constructor for readable nullable types |
Cruntime_exec_tag | |
Cserialization_policy | |
Csimd_exec_tag | |
Ctuple_elements_pack | Allow tuple like types to be used in json_tuple |
Ctuple_elements_pack< daw::fwd_pack< Ts... > > | |
Ctuple_elements_pack< std::tuple< Ts... > > | |
Ctuple_json_mapping | |
▼Nstd | |
Ctuple_element< 0, daw::json::basic_json_pair< PolicyFlags, Allocator > > | |
Ctuple_element< 1, daw::json::basic_json_pair< PolicyFlags, Allocator > > | |
Ctuple_size< daw::json::basic_json_pair< PolicyFlags, Allocator > > | |