| ▼Ndaw | |
| ►Njson | Customization point traits |
| ►Nanonymous_namespace{daw_container_traits.h} | |
| ►Nconcepts | |
| Ccontainer_traits< std::array< T, N > > | |
| Ccontainer_traits< T DAW_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_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 | |
| Cdefault_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_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_ENABLEIF_S(container_detect::is_container_v< T >)> | |
| ►Ndatetime | |
| Cdate_parts | |
| Ctime_parts | |
| Cymdhms | |
| ►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_exec_tag | |
| 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_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 > > | |