![]() |
Eclipse SUMO - Simulation of Urban MObility
|
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 | utility_internal |
Typedefs | |
| template<typename T, typename Binary> | |
| using | binary_function_t |
| template<typename T> | |
| using | boolean_function_t |
| using | contiguous_bytes_input_adapter = decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>())) |
| 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<size_t... Ints> | |
| using | index_sequence = integer_sequence<size_t, Ints...> |
| template<typename... Ts> | |
| using | index_sequence_for = make_index_sequence<sizeof...(Ts)> |
| 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 |
| 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 | 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<typename T, typename String> | |
| using | key_function_t |
| 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 T> | |
| using | null_function_t = decltype(std::declval<T&>().null()) |
| template<typename T, typename Float, typename String> | |
| using | number_float_function_t |
| template<typename T, typename Integer> | |
| using | number_integer_function_t |
| template<typename T, typename Unsigned> | |
| using | number_unsigned_function_t |
| template<typename CharType> | |
| using | output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>> |
| template<typename T, typename Exception> | |
| using | parse_error_function_t |
| template<typename BasicJsonType> | |
| using | parser_callback_t |
| 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 T> | |
| using | start_array_function_t |
| template<typename T> | |
| using | start_object_function_t |
| template<typename T, typename String> | |
| using | string_function_t |
| 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 | cbor_tag_handler_t { error , ignore , store } |
| how to treat CBOR tags More... | |
| enum class | error_handler_t { strict , replace , ignore } |
| enum class | input_format_t { json , cbor , msgpack , ubjson , bson } |
| the supported input formats More... | |
| enum class | parse_event_t : std::uint8_t { read , 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 T, typename U, enable_if_t< std::is_same< T, U >::value, int > = 0> | |
| T | conditional_static_cast (U value) |
| template<typename T, typename U, enable_if_t< !std::is_same< T, U >::value, int > = 0> | |
| T | conditional_static_cast (U value) |
| std::string | escape (std::string s) |
| string escaping as described in RFC 6901 (Sect. 4) | |
| 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 ConstructibleStringType, enable_if_t< is_constructible_string_type< BasicJsonType, ConstructibleStringType >::value &&!std::is_same< typename BasicJsonType::string_t, ConstructibleStringType >::value, int > = 0> | |
| void | from_json (const BasicJsonType &j, ConstructibleStringType &s) |
| 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 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<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<std::size_t N, typename IteratorType, enable_if_t< N==1, int > = 0> | |
| auto | get (const nlohmann::detail::iteration_proxy_value< IteratorType > &i) -> decltype(i.value()) |
| 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 string_type> | |
| void | int_to_string (string_type &target, std::size_t value) |
| static bool | little_endianness (int num=1) noexcept |
| determine system byte order | |
| bool | operator< (const value_t lhs, const value_t rhs) noexcept |
| comparison operator for JSON types | |
| void | replace_substring (std::string &s, const std::string &f, const std::string &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 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, enable_if_t< is_constructible_tuple< BasicJsonType, T >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const T &t) |
| 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, std::size_t... Idx> | |
| void | to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >) |
| static void | unescape (std::string &s) |
| string unescaping as described in RFC 6901 (Sect. 4) | |
Variables | |
| template<typename T> | |
| constexpr T | static_const< T >::value |
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 nlohmann::detail::binary_function_t |
| using nlohmann::detail::boolean_function_t |
| using nlohmann::detail::contiguous_bytes_input_adapter = decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>())) |
| using nlohmann::detail::detected_or = detector<Default, void, Op, Args...> |
| using nlohmann::detail::detected_or_t = typename detected_or<Default, Op, Args...>::type |
| using nlohmann::detail::detected_t = typename detector<nonesuch, void, Op, Args...>::type |
| using nlohmann::detail::difference_type_t = typename T::difference_type |
| using nlohmann::detail::enable_if_t = typename std::enable_if<B, T>::type |
| using nlohmann::detail::end_array_function_t = decltype(std::declval<T&>().end_array()) |
| using nlohmann::detail::end_object_function_t = decltype(std::declval<T&>().end_object()) |
| using nlohmann::detail::from_json_function = decltype(T::from_json(std::declval<Args>()...)) |
| using nlohmann::detail::get_template_function = decltype(std::declval<T>().template get<U>()) |
| using nlohmann::detail::index_sequence = integer_sequence<size_t, Ints...> |
| using nlohmann::detail::index_sequence_for = make_index_sequence<sizeof...(Ts)> |
| using nlohmann::detail::is_detected = typename detector<nonesuch, void, Op, Args...>::value_t |
| using nlohmann::detail::is_detected_exact = std::is_same<Expected, detected_t<Op, Args...>> |
| using nlohmann::detail::iterator_category_t = typename T::iterator_category |
| using nlohmann::detail::iterator_t = enable_if_t<is_range<R>::value, result_of_begin<decltype(std::declval<R&>())>> |
| using nlohmann::detail::key_function_t |
| using nlohmann::detail::key_type_t = typename T::key_type |
| using nlohmann::detail::make_index_sequence = make_integer_sequence<size_t, N> |
| using nlohmann::detail::make_integer_sequence = typename utility_internal::Gen<T, N>::type |
| using nlohmann::detail::mapped_type_t = typename T::mapped_type |
| using nlohmann::detail::null_function_t = decltype(std::declval<T&>().null()) |
| using nlohmann::detail::number_float_function_t |
| using nlohmann::detail::number_integer_function_t |
| using nlohmann::detail::number_unsigned_function_t |
| using nlohmann::detail::output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>> |
| using nlohmann::detail::parse_error_function_t |
| using nlohmann::detail::parser_callback_t |
| using nlohmann::detail::pointer_t = typename T::pointer |
| using nlohmann::detail::range_value_t = value_type_t<iterator_traits<iterator_t<T>>> |
| using nlohmann::detail::reference_t = typename T::reference |
| using nlohmann::detail::start_array_function_t |
| using nlohmann::detail::start_object_function_t |
| using nlohmann::detail::string_function_t |
| using nlohmann::detail::to_json_function = decltype(T::to_json(std::declval<Args>()...)) |
| using nlohmann::detail::uncvref_t = typename std::remove_cv<typename std::remove_reference<T>::type>::type |
| using nlohmann::detail::value_type_t = typename T::value_type |
| using nlohmann::detail::void_t = typename make_void<Ts...>::type |
|
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 |
| 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 |
|
strong |
|
strong |
|
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.
|
inlinenoexcept |
| T nlohmann::detail::conditional_static_cast | ( | U | value | ) |
Definition at line 3804 of file json.hpp.
References static_const< T >::value.
| T nlohmann::detail::conditional_static_cast | ( | U | value | ) |
Definition at line 3798 of file json.hpp.
References static_const< T >::value.
Referenced by nlohmann::detail::binary_reader< basic_json, InputType >::parse_cbor_internal().
|
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 2743 of file json.hpp.
References replace_substring().
Referenced by nlohmann::flatten().
| auto nlohmann::detail::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 >{})) |
Definition at line 4079 of file json.hpp.
References nlohmann::BasicJsonType().
| auto nlohmann::detail::from_json | ( | BasicJsonType && | j, |
| TupleRelated && | t )->decltype(from_json_tuple_impl(std::forward< BasicJsonType >(j), std::forward< TupleRelated >(t), priority_tag< 3 >{})) |
Definition at line 4203 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| ArithmeticType & | val ) |
Definition at line 4135 of file json.hpp.
References array, nlohmann::BasicJsonType(), binary, boolean, nlohmann::detail::type_error::create(), discarded, JSON_THROW, null, number_float, number_integer, number_unsigned, object, and string.
| auto nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| ConstructibleArrayType & | arr )->decltype(from_json_array_impl(j, arr, priority_tag< 3 >{}), j.templateget< typenameConstructibleArrayType::value_type >(), void()) |
Definition at line 4058 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| ConstructibleObjectType & | obj ) |
Definition at line 4103 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| ConstructibleStringType & | s ) |
Definition at line 3907 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| EnumType & | e ) |
Definition at line 3937 of file json.hpp.
References nlohmann::BasicJsonType(), and get_arithmetic_value().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| std::forward_list< T, Allocator > & | l ) |
Definition at line 3947 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| std::map< Key, Value, Compare, Allocator > & | m ) |
Definition at line 4217 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), get(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > & | m ) |
Definition at line 4237 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), get(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| std::valarray< T > & | l ) |
Definition at line 3964 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| auto nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| T(&) | arr[N] )->decltype(j.templateget< T >(), void()) |
Definition at line 3979 of file json.hpp.
References nlohmann::BasicJsonType(), and get().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename BasicJsonType::binary_t & | bin ) |
Definition at line 4091 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename BasicJsonType::boolean_t & | b ) |
Definition at line 3881 of file json.hpp.
References nlohmann::b, nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename BasicJsonType::number_float_t & | val ) |
Definition at line 3918 of file json.hpp.
References nlohmann::BasicJsonType(), and get_arithmetic_value().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename BasicJsonType::number_integer_t & | val ) |
Definition at line 3930 of file json.hpp.
References nlohmann::BasicJsonType(), and get_arithmetic_value().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename BasicJsonType::number_unsigned_t & | val ) |
Definition at line 3924 of file json.hpp.
References nlohmann::BasicJsonType(), and get_arithmetic_value().
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename BasicJsonType::string_t & | s ) |
Definition at line 3891 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
| void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
| typename std::nullptr_t & | n ) |
Definition at line 3834 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::detail::type_error::create(), JSON_HEDLEY_UNLIKELY, JSON_THROW, and n.
Referenced by nlohmann::detail::from_json_fn::operator()().
| void nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
| ConstructibleArrayType & | arr, | ||
| priority_tag< 0 > | ) |
Definition at line 4033 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::end(), and get().
| auto nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
| ConstructibleArrayType & | arr, | ||
| priority_tag< 1 > | )->decltype(arr.reserve(std::declval< typenameConstructibleArrayType::size_type >()), j.templateget< typenameConstructibleArrayType::value_type >(), void()) |
Definition at line 4009 of file json.hpp.
References nlohmann::BasicJsonType(), nlohmann::end(), and get().
| auto nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
| std::array< T, N > & | arr, | ||
| priority_tag< 2 > | )->decltype(j.templateget< T >(), void()) |
Definition at line 3995 of file json.hpp.
References nlohmann::BasicJsonType(), and get().
| void nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
| typename BasicJsonType::array_t & | arr, | ||
| priority_tag< 3 > | ) |
Definition at line 3989 of file json.hpp.
References nlohmann::BasicJsonType().
| std::array< T, sizeof...(Idx)> nlohmann::detail::from_json_inplace_array_impl | ( | BasicJsonType && | j, |
| identity_tag< std::array< T, sizeof...(Idx)> > | , | ||
| index_sequence< Idx... > | ) |
Definition at line 4072 of file json.hpp.
References nlohmann::BasicJsonType(), and get().
| std::pair< A1, A2 > nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
| identity_tag< std::pair< A1, A2 > > | , | ||
| priority_tag< 0 > | ) |
Definition at line 4178 of file json.hpp.
References nlohmann::BasicJsonType(), and get().
Referenced by from_json_tuple_impl().
| std::tuple< Args... > nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
| identity_tag< std::tuple< Args... > > | , | ||
| priority_tag< 2 > | ) |
Definition at line 4191 of file json.hpp.
References nlohmann::BasicJsonType(), and from_json_tuple_impl_base().
| void nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
| std::pair< A1, A2 > & | p, | ||
| priority_tag< 1 > | ) |
Definition at line 4185 of file json.hpp.
References nlohmann::BasicJsonType(), and from_json_tuple_impl().
| void nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
| std::tuple< Args... > & | t, | ||
| priority_tag< 3 > | ) |
Definition at line 4197 of file json.hpp.
References nlohmann::BasicJsonType(), and from_json_tuple_impl_base().
| std::tuple< Args... > nlohmann::detail::from_json_tuple_impl_base | ( | BasicJsonType && | j, |
| index_sequence< Idx... > | ) |
Definition at line 4172 of file json.hpp.
References nlohmann::at(), nlohmann::BasicJsonType(), and get().
Referenced by from_json_tuple_impl(), and from_json_tuple_impl().
| auto nlohmann::detail::get | ( | const nlohmann::detail::iteration_proxy_value< IteratorType > & | i | ) | ->decltype(i.key()) |
Definition at line 4451 of file json.hpp.
Referenced by from_json(), from_json(), from_json(), from_json_array_impl(), from_json_array_impl(), from_json_array_impl(), from_json_inplace_array_impl(), from_json_tuple_impl(), from_json_tuple_impl_base(), and hash().
| auto nlohmann::detail::get | ( | const nlohmann::detail::iteration_proxy_value< IteratorType > & | i | ) | ->decltype(i.value()) |
| void nlohmann::detail::get_arithmetic_value | ( | const BasicJsonType & | j, |
| ArithmeticType & | val ) |
Definition at line 3848 of file json.hpp.
References array, nlohmann::BasicJsonType(), binary, boolean, nlohmann::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().
| std::size_t nlohmann::detail::hash | ( | const BasicJsonType & | j | ) |
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 5097 of file json.hpp.
References nlohmann::BasicJsonType(), combine(), get(), hash(), and JSON_ASSERT.
Referenced by hash().
| contiguous_bytes_input_adapter nlohmann::detail::input_adapter | ( | CharT | b | ) |
Definition at line 5646 of file json.hpp.
References nlohmann::b, and input_adapter().
| container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType >::adapter_type nlohmann::detail::input_adapter | ( | const ContainerType & | container | ) |
| iterator_input_adapter_factory< IteratorType >::adapter_type nlohmann::detail::input_adapter | ( | IteratorType | first, |
| IteratorType | last ) |
Definition at line 5579 of file json.hpp.
Referenced by nlohmann::detail::container_input_adapter_factory_impl::container_input_adapter_factory< ContainerType, void_t< decltype(begin(std::declval< ContainerType >()), end(std::declval< ContainerType >()))> >::create(), nlohmann::detail::binary_reader< basic_json, InputType >::get_ubjson_high_precision_number(), input_adapter(), input_adapter(), and nlohmann::detail::span_input_adapter::span_input_adapter().
|
inline |
|
inline |
|
inline |
| auto nlohmann::detail::input_adapter | ( | T(&) | array[N] | ) | ->decltype(input_adapter(array, array+N)) |
Definition at line 5654 of file json.hpp.
References array, and input_adapter().
| void nlohmann::detail::int_to_string | ( | string_type & | target, |
| std::size_t | value ) |
Definition at line 4320 of file json.hpp.
References static_const< T >::value.
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key().
|
inlinestaticnoexcept |
determine system byte order
comparison operator for JSON types
Returns an ordering that is similar to Python:
Definition at line 156 of file json.hpp.
References nlohmann::rhs.
Referenced by std::less< ::nlohmann::detail::value_t >::operator()().
|
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 2725 of file json.hpp.
References JSON_ASSERT.
Referenced by escape(), and unescape().
| JSON_HEDLEY_RETURNS_NON_NULL char * nlohmann::detail::to_chars | ( | char * | first, |
| const char * | last, | ||
| FloatType | value ) |
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 16000 of file json.hpp.
References nlohmann::detail::dtoa_impl::format_buffer(), nlohmann::detail::dtoa_impl::grisu2(), JSON_ASSERT, static_const< T >::value, and to_chars().
Referenced by to_chars().
|
noexcept |
Definition at line 4787 of file json.hpp.
References nlohmann::BasicJsonType().
|
noexcept |
Definition at line 4780 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const CompatibleArrayType & | arr ) |
Definition at line 4814 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const CompatibleObjectType & | obj ) |
Definition at line 4840 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const CompatibleString & | s ) |
Definition at line 4760 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const std::pair< T1, T2 > & | p ) |
Definition at line 4862 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const std::valarray< T > & | arr ) |
Definition at line 4827 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const std::vector< bool > & | e ) |
Definition at line 4801 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const T & | b ) |
Definition at line 4870 of file json.hpp.
References nlohmann::b, and nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const T & | t ) |
Definition at line 4882 of file json.hpp.
References nlohmann::BasicJsonType(), and to_json_tuple_impl().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const T(&) | arr[N] ) |
Definition at line 4856 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| const typename BasicJsonType::binary_t & | bin ) |
Definition at line 4820 of file json.hpp.
References nlohmann::BasicJsonType().
|
noexcept |
Definition at line 4794 of file json.hpp.
References nlohmann::BasicJsonType().
|
noexcept |
Definition at line 4773 of file json.hpp.
References nlohmann::BasicJsonType().
|
noexcept |
Definition at line 4753 of file json.hpp.
References nlohmann::b, and nlohmann::BasicJsonType().
Referenced by nlohmann::detail::to_json_fn::operator()().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| typename BasicJsonType::array_t && | arr ) |
Definition at line 4833 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| typename BasicJsonType::object_t && | obj ) |
Definition at line 4846 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
| typename BasicJsonType::string_t && | s ) |
Definition at line 4766 of file json.hpp.
References nlohmann::BasicJsonType().
| void nlohmann::detail::to_json_tuple_impl | ( | BasicJsonType & | j, |
| const Tuple & | t, | ||
| index_sequence< Idx... > | ) |
Definition at line 4876 of file json.hpp.
References nlohmann::BasicJsonType().
Referenced by to_json().
|
static |
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 2757 of file json.hpp.
References replace_substring().
Referenced by nlohmann::split().
|
constexpr |
Definition at line 3177 of file json.hpp.
Referenced by nlohmann::detail::binary_writer< basic_json, CharType >::calc_bson_array_size(), nlohmann::detail::binary_writer< basic_json, CharType >::calc_bson_binary_size(), nlohmann::detail::binary_writer< basic_json, CharType >::calc_bson_integer_size(), nlohmann::detail::binary_writer< basic_json, CharType >::calc_bson_object_size(), nlohmann::detail::binary_writer< basic_json, CharType >::calc_bson_string_size(), nlohmann::detail::binary_writer< basic_json, CharType >::calc_bson_unsigned_size(), nlohmann::detail::dtoa_impl::compute_boundaries(), conditional_static_cast(), nlohmann::detail::dtoa_impl::grisu2(), nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >::handle_value(), int_to_string(), nlohmann::detail::json_ref< BasicJsonType >::json_ref(), nlohmann::detail::json_ref< BasicJsonType >::json_ref(), nlohmann::detail::binary_reader< basic_json, InputType >::parse_bson_element_internal(), to_chars(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_array(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_binary(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_boolean(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_double(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_integer(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_object(), nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_object_entry(), and nlohmann::detail::binary_writer< basic_json, CharType >::write_bson_string().