detail namespace with internal helper functions More...
Namespaces | |
| namespace | container_input_adapter_factory_impl |
| namespace | dtoa_impl |
| implements the Grisu2 algorithm for binary to decimal floating-point conversion. | |
| namespace | impl |
| namespace | utility_internal |
Typedefs | |
| template<typename BasicJsonType > | |
| using | actual_object_comparator_t = typename actual_object_comparator< BasicJsonType >::type |
| template<typename... Types> | |
| using | all_integral = conjunction< std::is_integral< Types >... > |
| template<typename... Types> | |
| using | all_signed = conjunction< std::is_signed< Types >... > |
| template<typename... Types> | |
| using | all_unsigned = conjunction< std::is_unsigned< Types >... > |
| template<typename T , typename Binary > | |
| using | binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >())) |
| template<bool Value> | |
| using | bool_constant = std::integral_constant< bool, Value > |
| template<typename T > | |
| using | boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >())) |
| using | contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >())) |
| template<typename ObjectType , typename KeyType > | |
| using | detect_erase_with_key_type = decltype(std::declval< ObjectType & >().erase(std::declval< KeyType >())) |
| template<typename T > | |
| using | detect_is_transparent = typename T::is_transparent |
| template<typename T > | |
| using | detect_key_compare = typename T::key_compare |
| template<typename StringType , typename Arg > | |
| using | detect_string_can_append = is_detected< string_can_append, StringType, Arg > |
| template<typename StringType , typename Arg > | |
| using | detect_string_can_append_data = is_detected< string_can_append_data, StringType, Arg > |
| template<typename StringType , typename Arg > | |
| using | detect_string_can_append_iter = is_detected< string_can_append_iter, StringType, Arg > |
| template<typename StringType , typename Arg > | |
| using | detect_string_can_append_op = is_detected< string_can_append_op, StringType, Arg > |
| template<class Default , template< class... > class Op, class... Args> | |
| using | detected_or = detector< Default, void, Op, Args... > |
| template<class Default , template< class... > class Op, class... Args> | |
| using | detected_or_t = typename detected_or< Default, Op, Args... >::type |
| template<template< class... > class Op, class... Args> | |
| using | detected_t = typename detector< nonesuch, void, Op, Args... >::type |
| template<typename T > | |
| using | difference_type_t = typename T::difference_type |
| template<bool B, typename T = void> | |
| using | enable_if_t = typename std::enable_if< B, T >::type |
| template<typename T > | |
| using | end_array_function_t = decltype(std::declval< T & >().end_array()) |
| template<typename T > | |
| using | end_object_function_t = decltype(std::declval< T & >().end_object()) |
| template<typename T , typename... Args> | |
| using | from_json_function = decltype(T::from_json(std::declval< Args >()...)) |
| template<typename T , typename U > | |
| using | get_template_function = decltype(std::declval< T >().template get< U >()) |
| template<typename BasicJsonType , typename KeyType > | |
| using | has_erase_with_key_type = typename std::conditional< is_detected< detect_erase_with_key_type, typename BasicJsonType::object_t, KeyType >::value, std::true_type, std::false_type >::type |
| template<size_t... Ints> | |
| using | index_sequence = integer_sequence< size_t, Ints... > |
| template<typename... Ts> | |
| using | index_sequence_for = make_index_sequence< sizeof...(Ts)> |
| template<typename T > | |
| using | is_c_string_uncvref = is_c_string< uncvref_t< T > > |
| template<template< class... > class Op, class... Args> | |
| using | is_detected = typename detector< nonesuch, void, Op, Args... >::value_t |
| template<class To , template< class... > class Op, class... Args> | |
| using | is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To > |
| template<class Expected , template< class... > class Op, class... Args> | |
| using | is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > > |
| template<typename T > | |
| using | is_json_pointer = is_specialization_of<::nlohmann::json_pointer, uncvref_t< T > > |
| template<typename BasicJsonType , typename KeyTypeCVRef , bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>> | |
| using | is_usable_as_basic_json_key_type = typename std::conditional< is_usable_as_key_type< typename BasicJsonType::object_comparator_t, typename BasicJsonType::object_t::key_type, KeyTypeCVRef, RequireTransparentComparator, ExcludeObjectKeyType >::value &&!is_json_iterator_of< BasicJsonType, KeyType >::value, std::true_type, std::false_type >::type |
| template<typename Comparator , typename ObjectKeyType , typename KeyTypeCVRef , bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>> | |
| using | is_usable_as_key_type = typename std::conditional< is_comparable< Comparator, ObjectKeyType, KeyTypeCVRef >::value &&!(ExcludeObjectKeyType &&std::is_same< KeyType, ObjectKeyType >::value) &&(!RequireTransparentComparator||is_detected< detect_is_transparent, Comparator >::value) &&!is_json_pointer< KeyType >::value, std::true_type, std::false_type >::type |
| template<typename T > | |
| using | iterator_category_t = typename T::iterator_category |
| template<typename R > | |
| using | iterator_t = enable_if_t< is_range< R >::value, result_of_begin< decltype(std::declval< R & >())> > |
| template<class T > | |
| using | json_base_class = typename std::conditional< std::is_same< T, void >::value, json_default_base, T >::type |
| template<typename T , typename String > | |
| using | key_function_t = decltype(std::declval< T & >().key(std::declval< String & >())) |
| template<typename T > | |
| using | key_type_t = typename T::key_type |
| template<size_t N> | |
| using | make_index_sequence = make_integer_sequence< size_t, N > |
| template<typename T , T N> | |
| using | make_integer_sequence = typename utility_internal::Gen< T, N >::type |
| template<typename T > | |
| using | mapped_type_t = typename T::mapped_type |
| template<typename OfType , typename T > | |
| using | never_out_of_range = std::integral_constant< bool,(std::is_signed< OfType >::value &&(sizeof(T)< sizeof(OfType)))||(same_sign< OfType, T >::value &&sizeof(OfType)==sizeof(T)) > |
| template<typename T > | |
| using | null_function_t = decltype(std::declval< T & >().null()) |
| template<typename T , typename Float , typename String > | |
| using | number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >())) |
| template<typename T , typename Integer > | |
| using | number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >())) |
| template<typename T , typename Unsigned > | |
| using | number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >())) |
| template<typename CharType > | |
| using | output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > > |
| a type to simplify interfaces | |
| template<typename T , typename Exception > | |
| using | parse_error_function_t = decltype(std::declval< T & >().parse_error(std::declval< std::size_t >(), std::declval< const std::string & >(), std::declval< const Exception & >())) |
| template<typename BasicJsonType > | |
| using | parser_callback_t = std::function< bool(int, parse_event_t, BasicJsonType &)> |
| template<typename T > | |
| using | pointer_t = typename T::pointer |
| template<typename T > | |
| using | range_value_t = value_type_t< iterator_traits< iterator_t< T > > > |
| template<typename T > | |
| using | reference_t = typename T::reference |
| template<typename... Types> | |
| using | same_sign = std::integral_constant< bool, all_signed< Types... >::value||all_unsigned< Types... >::value > |
| template<typename T > | |
| using | start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) |
| template<typename T > | |
| using | start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) |
| template<typename StringType , typename Arg > | |
| using | string_can_append = decltype(std::declval< StringType & >().append(std::declval< Arg && >())) |
| template<typename StringType , typename Arg > | |
| using | string_can_append_data = decltype(std::declval< StringType & >().append(std::declval< const Arg & >().data(), std::declval< const Arg & >().size())) |
| template<typename StringType , typename Arg > | |
| using | string_can_append_iter = decltype(std::declval< StringType & >().append(std::declval< const Arg & >().begin(), std::declval< const Arg & >().end())) |
| template<typename StringType , typename Arg > | |
| using | string_can_append_op = decltype(std::declval< StringType & >()+=std::declval< Arg && >()) |
| template<typename T , typename String > | |
| using | string_function_t = decltype(std::declval< T & >().string(std::declval< String & >())) |
| using | string_input_adapter_type = decltype(input_adapter(std::declval< std::string >())) |
| template<typename T , typename... Args> | |
| using | to_json_function = decltype(T::to_json(std::declval< Args >()...)) |
| template<typename T > | |
| using | uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
| template<typename T > | |
| using | value_type_t = typename T::value_type |
| template<typename ... Ts> | |
| using | void_t = typename make_void< Ts... >::type |
Enumerations | |
| enum class | bjdata_version_t { draft2 , draft3 } |
| how to encode BJData More... | |
| enum class | cbor_tag_handler_t { error , ignore , store } |
| how to treat CBOR tags More... | |
| enum class | error_handler_t { strict , replace , ignore } |
| how to treat decoding errors More... | |
| enum class | input_format_t { json , cbor , msgpack , ubjson , bson , bjdata } |
| the supported input formats More... | |
| enum class | parse_event_t : std::uint8_t { object_start , object_end , array_start , array_end , key , value } |
| enum class | value_t : std::uint8_t { null , object , array , string , boolean , number_integer , number_unsigned , number_float , binary , discarded } |
| the JSON type enumeration More... | |
Functions | |
| std::size_t | combine (std::size_t seed, std::size_t h) noexcept |
| template<typename OutStringType = std::string, typename... Args> | |
| OutStringType | concat (Args &&... args) |
| template<typename OutStringType > | |
| void | concat_into (OutStringType &) |
| template<typename OutStringType , typename Arg , typename... Args, enable_if_t< !detect_string_can_append< OutStringType, Arg >::value &&detect_string_can_append_op< OutStringType, Arg >::value, int > = 0> | |
| void | concat_into (OutStringType &out, Arg &&arg, Args &&... rest) |
| template<typename OutStringType , typename Arg , typename... Args, enable_if_t< !detect_string_can_append< OutStringType, Arg >::value &&!detect_string_can_append_op< OutStringType, Arg >::value &&detect_string_can_append_iter< OutStringType, Arg >::value, int > = 0> | |
| void | concat_into (OutStringType &out, const Arg &arg, Args &&... rest) |
| std::size_t | concat_length () |
| template<typename... Args> | |
| std::size_t | concat_length (const char *cstr, const Args &... rest) |
| template<typename... Args> | |
| std::size_t | concat_length (const char, const Args &... rest) |
| template<typename StringType , typename... Args> | |
| std::size_t | concat_length (const StringType &str, const Args &... rest) |
| template<typename T , typename U , enable_if_t< !std::is_same< T, U >::value, int > = 0> | |
| T | conditional_static_cast (U value) |
| template<typename StringType > | |
| StringType | escape (StringType s) |
| string escaping as described in RFC 6901 (Sect. | |
| template<typename BasicJsonType , typename T , std::size_t N> | |
| auto | from_json (BasicJsonType &&j, identity_tag< std::array< T, N > > tag) -> decltype(from_json_inplace_array_impl(std::forward< BasicJsonType >(j), tag, make_index_sequence< N > {})) |
| template<typename BasicJsonType , typename TupleRelated > | |
| auto | from_json (BasicJsonType &&j, TupleRelated &&t) -> decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 > {})) |
| template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, ArithmeticType &val) |
| template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< is_constructible_array_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_object_type< BasicJsonType, ConstructibleArrayType >::value &&!is_constructible_string_type< BasicJsonType, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, typename BasicJsonType::binary_t >::value &&!is_basic_json< ConstructibleArrayType >::value, int > = 0> | |
| auto | from_json (const BasicJsonType &j, ConstructibleArrayType &arr) -> decltype(from_json_array_impl(j, arr, priority_tag< 3 > {}), j.template get< typename ConstructibleArrayType::value_type >(), void()) |
| template<typename BasicJsonType , typename ConstructibleObjectType , enable_if_t< is_constructible_object_type< BasicJsonType, ConstructibleObjectType >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, ConstructibleObjectType &obj) |
| template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, EnumType &e) |
| template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l) |
| template<typename BasicJsonType , typename Key , typename Value , typename Compare , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >> | |
| void | from_json (const BasicJsonType &j, std::map< Key, Value, Compare, Allocator > &m) |
| template<typename BasicJsonType , typename Key , typename Value , typename Hash , typename KeyEqual , typename Allocator , typename = enable_if_t < !std::is_constructible < typename BasicJsonType::string_t, Key >::value >> | |
| void | from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m) |
| template<typename BasicJsonType , typename T , enable_if_t< is_getable< BasicJsonType, T >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, std::valarray< T > &l) |
| template<typename BasicJsonType , typename StringType , enable_if_t< std::is_assignable< StringType &, const typename BasicJsonType::string_t >::value &&is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, StringType >::value &&!std::is_same< typename BasicJsonType::string_t, StringType >::value &&!is_json_ref< StringType >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, StringType &s) |
| template<typename BasicJsonType , typename T , std::size_t N1, std::size_t N2> | |
| auto | from_json (const BasicJsonType &j, T(&arr)[N1][N2]) -> decltype(j.template get< T >(), void()) |
| template<typename BasicJsonType , typename T , std::size_t N1, std::size_t N2, std::size_t N3> | |
| auto | from_json (const BasicJsonType &j, T(&arr)[N1][N2][N3]) -> decltype(j.template get< T >(), void()) |
| template<typename BasicJsonType , typename T , std::size_t N1, std::size_t N2, std::size_t N3, std::size_t N4> | |
| auto | from_json (const BasicJsonType &j, T(&arr)[N1][N2][N3][N4]) -> decltype(j.template get< T >(), void()) |
| template<typename BasicJsonType , typename T , std::size_t N> | |
| auto | from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void()) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, typename std::nullptr_t &n) |
| template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0> | |
| void | from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 0 >) |
| template<typename BasicJsonType , typename ConstructibleArrayType , enable_if_t< std::is_assignable< ConstructibleArrayType &, ConstructibleArrayType >::value, int > = 0> | |
| auto | from_json_array_impl (const BasicJsonType &j, ConstructibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename ConstructibleArrayType::size_type >()), j.template get< typename ConstructibleArrayType::value_type >(), void()) |
| template<typename BasicJsonType , typename T , std::size_t N> | |
| auto | from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) -> decltype(j.template get< T >(), void()) |
| template<typename BasicJsonType > | |
| void | from_json_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >) |
| template<typename BasicJsonType , typename T , std::size_t... Idx> | |
| std::array< T, sizeof...(Idx)> | from_json_inplace_array_impl (BasicJsonType &&j, identity_tag< std::array< T, sizeof...(Idx)> >, index_sequence< Idx... >) |
| template<typename BasicJsonType , class A1 , class A2 > | |
| std::pair< A1, A2 > | from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::pair< A1, A2 > >, priority_tag< 0 >) |
| template<typename BasicJsonType , typename... Args> | |
| std::tuple< Args... > | from_json_tuple_impl (BasicJsonType &&j, identity_tag< std::tuple< Args... > >, priority_tag< 2 >) |
| template<typename BasicJsonType , typename A1 , typename A2 > | |
| void | from_json_tuple_impl (BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >) |
| template<typename BasicJsonType , typename... Args> | |
| void | from_json_tuple_impl (BasicJsonType &&j, std::tuple< Args... > &t, priority_tag< 3 >) |
| template<typename BasicJsonType , typename... Args, std::size_t... Idx> | |
| std::tuple< Args... > | from_json_tuple_impl_base (BasicJsonType &&j, index_sequence< Idx... >) |
| template<typename BasicJsonType > | |
| std::tuple | from_json_tuple_impl_base (BasicJsonType &, index_sequence<>) |
| template<std::size_t N, typename IteratorType , enable_if_t< N==0, int > = 0> | |
| auto | get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.key()) |
| template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0> | |
| void | get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val) |
| template<typename BasicJsonType > | |
| std::size_t | hash (const BasicJsonType &j) |
| hash a JSON value | |
| template<typename CharT , typename std::enable_if< std::is_pointer< CharT >::value &&!std::is_array< CharT >::value &&std::is_integral< typename std::remove_pointer< CharT >::type >::value &&sizeof(typename std::remove_pointer< CharT >::type)==1, int >::type = 0> | |
| contiguous_bytes_input_adapter | input_adapter (CharT b) |
| template<typename ContainerType > | |
| container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type | input_adapter (const ContainerType &container) |
| template<typename IteratorType > | |
| iterator_input_adapter_factory< IteratorType >::adapter_type | input_adapter (IteratorType first, IteratorType last) |
| file_input_adapter | input_adapter (std::FILE *file) |
| input_stream_adapter | input_adapter (std::istream &&stream) |
| input_stream_adapter | input_adapter (std::istream &stream) |
| template<typename T , std::size_t N> | |
| auto | input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N)) |
| template<typename StringType > | |
| void | int_to_string (StringType &target, std::size_t value) |
| bool | little_endianness (int num=1) noexcept |
| determine system byte order | |
| template<typename T , typename... Args> | |
| constexpr std::array< T, sizeof...(Args)> | make_array (Args &&... args) |
| bool | operator< (const value_t lhs, const value_t rhs) noexcept |
| comparison operator for JSON types | |
| template<typename StringType > | |
| void | replace_substring (StringType &s, const StringType &f, const StringType &t) |
| replace all occurrences of a substring by another string | |
| template<typename FloatType > | |
| JSON_HEDLEY_RETURNS_NON_NULL char * | to_chars (char *first, const char *last, FloatType value) |
| generates a decimal representation of the floating-point number value in [first, last). | |
| template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept |
| template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept |
| template<typename BasicJsonType , typename BoolRef , enable_if_t<((std::is_same< std::vector< bool >::reference, BoolRef >::value &&!std::is_same< std::vector< bool >::reference, typename BasicJsonType::boolean_t & >::value)||(std::is_same< std::vector< bool >::const_reference, BoolRef >::value &&!std::is_same< detail::uncvref_t< std::vector< bool >::const_reference >, typename BasicJsonType::boolean_t >::value)) &&std::is_convertible< const BoolRef &, typename BasicJsonType::boolean_t >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const BoolRef &b) noexcept |
| template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_object_type< BasicJsonType, CompatibleArrayType >::value &&!is_compatible_string_type< BasicJsonType, CompatibleArrayType >::value &&!std::is_same< typename BasicJsonType::binary_t, CompatibleArrayType >::value &&!is_basic_json< CompatibleArrayType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const CompatibleArrayType &arr) |
| template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!is_basic_json< CompatibleObjectType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const CompatibleObjectType &obj) |
| template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const CompatibleString &s) |
| template<typename BasicJsonType , typename T1 , typename T2 , enable_if_t< std::is_constructible< BasicJsonType, T1 >::value &&std::is_constructible< BasicJsonType, T2 >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const std::pair< T1, T2 > &p) |
| template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const std::valarray< T > &arr) |
| template<typename BasicJsonType > | |
| void | to_json (BasicJsonType &j, const std::vector< bool > &e) |
| template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, iteration_proxy_value< typename BasicJsonType::iterator > >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const T &b) |
| template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< !std::is_constructible< typename BasicJsonType::string_t, const T(&)[N]>::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const T(&arr)[N]) |
| template<typename BasicJsonType > | |
| void | to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin) |
| template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, EnumType e) noexcept |
| template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, FloatType val) noexcept |
| template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, T b) noexcept |
| template<typename BasicJsonType > | |
| void | to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr) |
| template<typename BasicJsonType > | |
| void | to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj) |
| template<typename BasicJsonType > | |
| void | to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s) |
| template<typename BasicJsonType , typename Tuple > | |
| void | to_json_tuple_impl (BasicJsonType &j, const Tuple &, index_sequence<>) |
| template<typename BasicJsonType , typename Tuple , std::size_t... Idx> | |
| void | to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >) |
| template<typename StringType > | |
| StringType | to_string (std::size_t value) |
| template<typename StringType > | |
| void | unescape (StringType &s) |
| string unescaping as described in RFC 6901 (Sect. | |
| constexpr std::size_t | unknown_size () |
| template<typename OfType , typename T > | |
| constexpr bool | value_in_range_of (T val) |
detail namespace with internal helper functions
This namespace collects functions that should not be exposed, implementations of some basic_json methods, and meta-programming helpers.
| using detail::actual_object_comparator_t = typedef typename actual_object_comparator<BasicJsonType>::type |
| using detail::all_integral = typedef conjunction<std::is_integral<Types>...> |
| using detail::all_signed = typedef conjunction<std::is_signed<Types>...> |
| using detail::all_unsigned = typedef conjunction<std::is_unsigned<Types>...> |
| using detail::binary_function_t = typedef decltype(std::declval<T&>().binary(std::declval<Binary&>())) |
| using detail::bool_constant = typedef std::integral_constant<bool, Value> |
| using detail::boolean_function_t = typedef decltype(std::declval<T&>().boolean(std::declval<bool>())) |
|
private |
| using detail::detect_erase_with_key_type = typedef decltype(std::declval<ObjectType&>().erase(std::declval<KeyType>())) |
| using detail::detect_is_transparent = typedef typename T::is_transparent |
| using detail::detect_key_compare = typedef typename T::key_compare |
| using detail::detect_string_can_append = typedef is_detected<string_can_append, StringType, Arg> |
| using detail::detect_string_can_append_data = typedef is_detected<string_can_append_data, StringType, Arg> |
| using detail::detect_string_can_append_iter = typedef is_detected<string_can_append_iter, StringType, Arg> |
| using detail::detect_string_can_append_op = typedef is_detected<string_can_append_op, StringType, Arg> |
| using detail::detected_or = typedef detector<Default, void, Op, Args...> |
| using detail::detected_or_t = typedef typename detected_or<Default, Op, Args...>::type |
| using detail::detected_t = typedef typename detector<nonesuch, void, Op, Args...>::type |
| using detail::difference_type_t = typedef typename T::difference_type |
| using detail::enable_if_t = typedef typename std::enable_if<B, T>::type |
| using detail::end_array_function_t = typedef decltype(std::declval<T&>().end_array()) |
| using detail::end_object_function_t = typedef decltype(std::declval<T&>().end_object()) |
| using detail::from_json_function = typedef decltype(T::from_json(std::declval<Args>()...)) |
| using detail::get_template_function = typedef decltype(std::declval<T>().template get<U>()) |
| using detail::has_erase_with_key_type = typedef typename std::conditional < is_detected < detect_erase_with_key_type, typename BasicJsonType::object_t, KeyType >::value, std::true_type, std::false_type >::type |
| using detail::index_sequence = typedef integer_sequence<size_t, Ints...> |
| using detail::index_sequence_for = typedef make_index_sequence<sizeof...(Ts)> |
| using detail::is_c_string_uncvref = typedef is_c_string<uncvref_t<T> > |
| using detail::is_detected = typedef typename detector<nonesuch, void, Op, Args...>::value_t |
| using detail::is_detected_convertible = typedef std::is_convertible<detected_t<Op, Args...>, To> |
| using detail::is_detected_exact = typedef std::is_same<Expected, detected_t<Op, Args...> > |
| using detail::is_json_pointer = typedef is_specialization_of<::nlohmann::json_pointer, uncvref_t<T> > |
| using detail::is_usable_as_basic_json_key_type = typedef typename std::conditional < is_usable_as_key_type<typename BasicJsonType::object_comparator_t, typename BasicJsonType::object_t::key_type, KeyTypeCVRef, RequireTransparentComparator, ExcludeObjectKeyType>::value && !is_json_iterator_of<BasicJsonType, KeyType>::value, std::true_type, std::false_type >::type |
| using detail::is_usable_as_key_type = typedef typename std::conditional < is_comparable<Comparator, ObjectKeyType, KeyTypeCVRef>::value && !(ExcludeObjectKeyType && std::is_same<KeyType, ObjectKeyType>::value) && (!RequireTransparentComparator || is_detected <detect_is_transparent, Comparator>::value) && !is_json_pointer<KeyType>::value, std::true_type, std::false_type >::type |
| using detail::iterator_category_t = typedef typename T::iterator_category |
| using detail::iterator_t = typedef enable_if_t<is_range<R>::value, result_of_begin<decltype(std::declval<R&>())> > |
| using detail::json_base_class = typedef typename std::conditional < std::is_same<T, void>::value, json_default_base, T >::type |
| using detail::key_function_t = typedef decltype(std::declval<T&>().key(std::declval<String&>())) |
| using detail::key_type_t = typedef typename T::key_type |
| using detail::make_index_sequence = typedef make_integer_sequence<size_t, N> |
| using detail::make_integer_sequence = typedef typename utility_internal::Gen<T, N>::type |
| using detail::mapped_type_t = typedef typename T::mapped_type |
| using detail::never_out_of_range = typedef std::integral_constant < bool, (std::is_signed<OfType>::value && (sizeof(T) < sizeof(OfType))) || (same_sign<OfType, T>::value && sizeof(OfType) == sizeof(T)) > |
| using detail::null_function_t = typedef decltype(std::declval<T&>().null()) |
| using detail::number_float_function_t = typedef decltype(std::declval<T&>().number_float( std::declval<Float>(), std::declval<const String&>())) |
| using detail::number_integer_function_t = typedef decltype(std::declval<T&>().number_integer(std::declval<Integer>())) |
| using detail::number_unsigned_function_t = typedef decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>())) |
|
private |
| using detail::parse_error_function_t = typedef decltype(std::declval<T&>().parse_error( std::declval<std::size_t>(), std::declval<const std::string&>(), std::declval<const Exception&>())) |
|
private |
| using detail::pointer_t = typedef typename T::pointer |
| using detail::range_value_t = typedef value_type_t<iterator_traits<iterator_t<T> >> |
| using detail::reference_t = typedef typename T::reference |
| using detail::same_sign = typedef std::integral_constant < bool, all_signed<Types...>::value || all_unsigned<Types...>::value > |
| using detail::start_array_function_t = typedef decltype(std::declval<T&>().start_array(std::declval<std::size_t>())) |
| using detail::start_object_function_t = typedef decltype(std::declval<T&>().start_object(std::declval<std::size_t>())) |
| using detail::string_can_append = typedef decltype(std::declval<StringType&>().append(std::declval < Arg && > ())) |
| using detail::string_can_append_data = typedef decltype(std::declval<StringType&>().append(std::declval<const Arg&>().data(), std::declval<const Arg&>().size())) |
| using detail::string_can_append_iter = typedef decltype(std::declval<StringType&>().append(std::declval<const Arg&>().begin(), std::declval<const Arg&>().end())) |
| using detail::string_can_append_op = typedef decltype(std::declval<StringType&>() += std::declval < Arg && > ()) |
| using detail::string_function_t = typedef decltype(std::declval<T&>().string(std::declval<String&>())) |
|
private |
| using detail::to_json_function = typedef decltype(T::to_json(std::declval<Args>()...)) |
| using detail::uncvref_t = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type |
| using detail::value_type_t = typedef typename T::value_type |
| using detail::void_t = typedef typename make_void<Ts...>::type |
|
strongprivate |
|
strong |
how to treat CBOR tags
| Enumerator | |
|---|---|
| error | throw a parse_error exception in case of a tag |
| ignore | ignore tags |
| store | store tags as binary type |
|
strong |
how to treat decoding errors
| Enumerator | |
|---|---|
| strict | throw a type_error exception in case of invalid UTF-8 |
| replace | replace invalid UTF-8 sequences with U+FFFD |
| ignore | ignore invalid UTF-8 sequences |
|
strongprivate |
|
strongprivate |
|
strong |
the JSON type enumeration
This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.
|
inlineprivatenoexcept |
|
inline |
Definition at line 4507 of file json.h.
References concat_into(), and concat_length().
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::basic_json(), json_pointer< RefStringType >::array_index(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), detail::binary_writer< BasicJsonType, CharType >::calc_bson_entry_header_size(), detail::parse_error::create(), detail::invalid_iterator::create(), detail::type_error::create(), detail::out_of_range::create(), detail::other_error::create(), detail::parse_error::create(), detail::exception::diagnostics(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::emplace(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::emplace_back(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::erase(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::erase(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::erase(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::erase_internal(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::exception_message(), detail::parser< BasicJsonType, InputAdapterType >::exception_message(), detail::serializer< BasicJsonType >::for(), from_json(), from_json(), from_json(), from_json(), from_json(), from_json(), from_json(), from_json(), from_json(), from_json(), from_json(), get_arithmetic_value(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get_binary(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get_binary(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_binary(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string(), json_pointer< RefStringType >::get_checked(), json_pointer< RefStringType >::get_checked(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get_impl(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_string(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get_ref_impl(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value(), json_pointer< RefStringType >::get_unchecked(), json_pointer< RefStringType >::get_unchecked(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::meta(), detail::exception::name(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace(), detail::parse_error::position_string(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::push_back(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::push_back(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::push_back(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse(), detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), json_pointer< RefStringType >::split(), detail::json_sax_dom_parser< BasicJsonType, InputAdapterType >::start_array(), detail::json_sax_dom_callback_parser< BasicJsonType, InputAdapterType >::start_array(), detail::json_sax_dom_parser< BasicJsonType, InputAdapterType >::start_object(), detail::json_sax_dom_callback_parser< BasicJsonType, InputAdapterType >::start_object(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::swap(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::swap(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::swap(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::swap(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::swap(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::update(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value(), and detail::binary_writer< BasicJsonType, CharType >::write_bson().
Here is the call graph for this function:
|
inline |
Definition at line 4423 of file json.h.
Referenced by concat(), concat_into(), and concat_into().
Here is the caller graph for this function:
|
inline |
Definition at line 4470 of file json.h.
References concat_into().
Here is the call graph for this function:
|
inline |
Definition at line 4489 of file json.h.
References concat_into().
Here is the call graph for this function:
|
inline |
Definition at line 4392 of file json.h.
Referenced by concat(), concat_length(), concat_length(), and concat_length().
Here is the caller graph for this function:
|
inline |
Definition at line 4410 of file json.h.
References concat_length().
Here is the call graph for this function:
|
inline |
Definition at line 4404 of file json.h.
References concat_length().
Here is the call graph for this function:
|
inline |
Definition at line 4417 of file json.h.
References concat_length().
Here is the call graph for this function:| T detail::conditional_static_cast | ( | U | value | ) |
|
inline |
string escaping as described in RFC 6901 (Sect.
4)
| [in] | s | string to escape |
Note the order of escaping "~" to "~0" and "/" to "~1" is important.
Definition at line 3122 of file json.h.
References replace_substring().
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), and json_pointer< RefStringType >::flatten().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
|
private |
|
inlineprivate |
Definition at line 5231 of file json.h.
References array, binary, boolean, concat(), detail::type_error::create(), discarded, JSON_THROW, null, number_float, number_integer, number_unsigned, object, and string.
Here is the call graph for this function:
|
private |
|
inlineprivate |
Definition at line 5199 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4984 of file json.h.
References get_arithmetic_value().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4995 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 5319 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 5339 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 5012 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4953 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
private |
|
private |
|
private |
|
private |
|
inlineprivate |
Definition at line 5187 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4927 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4964 of file json.h.
References get_arithmetic_value().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4976 of file json.h.
References get_arithmetic_value().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4970 of file json.h.
References get_arithmetic_value().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4937 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
Definition at line 4865 of file json.h.
References concat(), detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Referenced by detail::from_json_fn::operator()().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
|
private |
|
private |
|
inlineprivate |
|
private |
|
private |
Definition at line 5280 of file json.h.
Referenced by from_json_tuple_impl().
Here is the caller graph for this function:
|
private |
Definition at line 5293 of file json.h.
References from_json_tuple_impl_base().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 5287 of file json.h.
References from_json_tuple_impl().
Here is the call graph for this function:
|
inlineprivate |
Definition at line 5299 of file json.h.
References from_json_tuple_impl_base().
Here is the call graph for this function:
|
private |
Definition at line 5268 of file json.h.
Referenced by from_json_tuple_impl(), and from_json_tuple_impl().
Here is the caller graph for this function:
|
private |
| auto detail::get | ( | const nlohmann::detail::iteration_proxy_value< IteratorType > & | i | ) | -> decltype(i.key()) |
Definition at line 5659 of file json.h.
Referenced by detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_binary(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_cstr(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_bson_string(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_array(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_binary(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_object(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_string(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ignore_noop(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_msgpack_object(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_string(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_size_type(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_string(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_value(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_internal(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_element_list(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_msgpack_internal(), and detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse().
Here is the caller graph for this function:
|
private |
Definition at line 4894 of file json.h.
References array, binary, boolean, concat(), detail::type_error::create(), discarded, JSON_THROW, null, number_float, number_integer, number_unsigned, object, and string.
Referenced by from_json(), from_json(), from_json(), and from_json().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
hash a JSON value
The hash function tries to rely on std::hash where possible. Furthermore, the type of the JSON value is taken into account to have different hash values for null, 0, 0U, and false, etc.
| BasicJsonType | basic_json specialization |
| j | JSON value to hash |
Definition at line 6372 of file json.h.
References combine(), hash(), and JSON_ASSERT.
Referenced by hash().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Definition at line 6996 of file json.h.
References detail::parse_error::create(), input_adapter(), and JSON_THROW.
Here is the call graph for this function:
|
private |
|
private |
Definition at line 6922 of file json.h.
Referenced by detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bjdata(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bjdata(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_cbor(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_cbor(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_msgpack(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_msgpack(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_ubjson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_ubjson(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), input_adapter(), input_adapter(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().
Here is the caller graph for this function:
|
inlineprivate |
Definition at line 6966 of file json.h.
References detail::parse_error::create(), and JSON_THROW.
Here is the call graph for this function:
|
inlineprivate |
|
inlineprivate |
|
private |
Definition at line 7008 of file json.h.
References array, and input_adapter().
Here is the call graph for this function:| void detail::int_to_string | ( | StringType & | target, |
| std::size_t | value | ||
| ) |
Definition at line 5477 of file json.h.
References to_string(), and value.
Referenced by detail::iteration_proxy_value< IteratorType >::key(), and to_string().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlinenoexcept |
determine system byte order
Definition at line 9880 of file json.h.
References little_endianness().
Referenced by little_endianness().
Here is the call graph for this function:
Here is the caller graph for this function:
|
constexpr |
comparison operator for JSON types
Returns an ordering that is similar to Python:
|
inline |
replace all occurrences of a substring by another string
| [in,out] | s | the string to manipulate; changed so that all occurrences of f are replaced with t |
| [in] | f | the substring to replace with t |
| [in] | t | the string to replace f |
Definition at line 3103 of file json.h.
References JSON_ASSERT.
Referenced by escape(), and unescape().
Here is the caller graph for this function:
|
private |
generates a decimal representation of the floating-point number value in [first, last).
The format of the resulting decimal representation is similar to printf's g format. Returns an iterator pointing past-the-end of the decimal representation.
Definition at line 18776 of file json.h.
References JSON_ASSERT.
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
Definition at line 6028 of file json.h.
References number_integer, and number_unsigned.
|
inlinenoexcept |
|
inlinenoexcept |
Definition at line 5973 of file json.h.
Referenced by detail::to_json_fn::operator()().
Here is the caller graph for this function:
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| StringType detail::to_string | ( | std::size_t | value | ) |
Definition at line 5485 of file json.h.
References int_to_string(), and value.
Referenced by int_to_string().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
string unescaping as described in RFC 6901 (Sect.
4)
| [in] | s | string to unescape |
Note the order of escaping "~1" to "/" and "~0" to "~" is important.
Definition at line 3137 of file json.h.
References replace_substring().
Referenced by json_pointer< RefStringType >::split().
Here is the call graph for this function:
Here is the caller graph for this function:
|
constexpr |
Definition at line 8846 of file json.h.
References unknown_size().
Referenced by detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_array(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_cbor_object(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_array(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_object(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_array(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_bson_internal(), detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::parse_cbor_internal(), detail::parser< BasicJsonType, InputAdapterType >::sax_parse_internal(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::set_parent(), detail::json_sax_dom_parser< BasicJsonType, InputAdapterType >::start_array(), detail::json_sax_dom_callback_parser< BasicJsonType, InputAdapterType >::start_array(), detail::json_sax_dom_parser< BasicJsonType, InputAdapterType >::start_object(), detail::json_sax_dom_callback_parser< BasicJsonType, InputAdapterType >::start_object(), and unknown_size().
Here is the call graph for this function:
Here is the caller graph for this function: