xrootd
|
detail namespace with internal helper functions More...
Namespaces | |
container_input_adapter_factory_impl | |
dtoa_impl | |
implements the Grisu2 algorithm for binary to decimal floating-point conversion. | |
utility_internal | |
Typedefs | |
template<typename T > | |
using | uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
template<bool B, typename T = void> | |
using | enable_if_t = typename std::enable_if< B, T >::type |
template<size_t... Ints> | |
using | index_sequence = integer_sequence< size_t, Ints...> |
template<typename T , T N> | |
using | make_integer_sequence = typename utility_internal::Gen< T, N >::type |
template<size_t N> | |
using | make_index_sequence = make_integer_sequence< size_t, N > |
template<typename... Ts> | |
using | index_sequence_for = make_index_sequence< sizeof...(Ts)> |
template<typename... Ts> | |
using | void_t = typename make_void< Ts...>::type |
template<template< class...> class Op, class... Args> | |
using | is_detected = typename detector< nonesuch, void, Op, Args...>::value_t |
template<template< class...> class Op, class... Args> | |
using | detected_t = typename detector< nonesuch, void, Op, Args...>::type |
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<class Expected , template< class...> class Op, class... Args> | |
using | is_detected_exact = std::is_same< Expected, detected_t< Op, Args...>> |
template<class To , template< class...> class Op, class... Args> | |
using | is_detected_convertible = std::is_convertible< detected_t< Op, Args...>, To > |
template<typename T > | |
using | mapped_type_t = typename T::mapped_type |
template<typename T > | |
using | key_type_t = typename T::key_type |
template<typename T > | |
using | value_type_t = typename T::value_type |
template<typename T > | |
using | difference_type_t = typename T::difference_type |
template<typename T > | |
using | pointer_t = typename T::pointer |
template<typename T > | |
using | reference_t = typename T::reference |
template<typename T > | |
using | iterator_category_t = typename T::iterator_category |
template<typename T > | |
using | iterator_t = typename T::iterator |
template<typename T , typename... Args> | |
using | to_json_function = decltype(T::to_json(std::declval< Args >()...)) |
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 >()) |
using | contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >())) |
template<typename T > | |
using | null_function_t = decltype(std::declval< T & >().null()) |
template<typename T > | |
using | boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >())) |
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 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 String > | |
using | string_function_t = decltype(std::declval< T & >().string(std::declval< String & >())) |
template<typename T , typename Binary > | |
using | binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >())) |
template<typename T > | |
using | start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >())) |
template<typename T , typename String > | |
using | key_function_t = decltype(std::declval< T & >().key(std::declval< String & >())) |
template<typename T > | |
using | end_object_function_t = decltype(std::declval< T & >().end_object()) |
template<typename T > | |
using | start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >())) |
template<typename T > | |
using | end_array_function_t = decltype(std::declval< T & >().end_array()) |
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 CharType > | |
using | output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType >> |
a type to simplify interfaces More... | |
Enumerations | |
enum | value_t : std::uint8_t { value_t::null, value_t::object, value_t::array, value_t::string, value_t::boolean, value_t::number_integer, value_t::number_unsigned, value_t::number_float, value_t::binary, value_t::discarded } |
the JSON type enumeration More... | |
enum | input_format_t { input_format_t::json, input_format_t::cbor, input_format_t::msgpack, input_format_t::ubjson, input_format_t::bson } |
the supported input formats More... | |
enum | cbor_tag_handler_t { cbor_tag_handler_t::error, cbor_tag_handler_t::ignore, cbor_tag_handler_t::store } |
how to treat CBOR tags More... | |
enum | parse_event_t : std::uint8_t { parse_event_t::object_start, parse_event_t::object_end, parse_event_t::array_start, parse_event_t::array_end, parse_event_t::key, parse_event_t::value } |
enum | error_handler_t { error_handler_t::strict, error_handler_t::replace, error_handler_t::ignore } |
how to treat decoding errors More... | |
Functions | |
bool | operator< (const value_t lhs, const value_t rhs) noexcept |
comparison operator for JSON types More... | |
void | replace_substring (std::string &s, const std::string &f, const std::string &t) |
replace all occurrences of a substring by another string More... | |
std::string | escape (std::string s) |
string escaping as described in RFC 6901 (Sect. 4) More... | |
static void | unescape (std::string &s) |
string unescaping as described in RFC 6901 (Sect. 4) More... | |
template<typename T , typename U , enable_if_t< !std::is_same< T, U >::value, int > = 0> | |
T | conditional_static_cast (U value) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename std::nullptr_t &n) |
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 > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s) |
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 > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::number_float_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::number_integer_t &val) |
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 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_array_impl (const BasicJsonType &j, typename BasicJsonType::array_t &arr, priority_tag< 3 >) |
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 , 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 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< 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 > () |
j template | void ()) |
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 , 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 > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::binary_t &bin) |
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 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... Args, std::size_t... Idx> | |
std::tuple< Args...> | from_json_tuple_impl_base (BasicJsonType &&j, 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 A1 , typename A2 > | |
void | from_json_tuple_impl (BasicJsonType &&j, std::pair< A1, A2 > &p, priority_tag< 1 >) |
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... Args> | |
void | from_json_tuple_impl (BasicJsonType &&j, std::tuple< Args...> &t, priority_tag< 3 >) |
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 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 string_type > | |
void | int_to_string (string_type &target, std::size_t value) |
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 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 , 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 > | |
void | to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s) |
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 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 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 EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, EnumType e) noexcept |
template<typename BasicJsonType > | |
void | to_json (BasicJsonType &j, const std::vector< bool > &e) |
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 > | |
void | to_json (BasicJsonType &j, const typename BasicJsonType::binary_t &bin) |
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, typename BasicJsonType::array_t &&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 > | |
void | to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj) |
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 , 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_same< T, iteration_proxy_value< typename BasicJsonType::iterator >>::value, int > = 0> | |
void | to_json (BasicJsonType &j, const T &b) |
template<typename BasicJsonType , typename Tuple , std::size_t... Idx> | |
void | to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx...>) |
std::size_t | combine (std::size_t seed, std::size_t h) noexcept |
template<typename BasicJsonType > | |
std::size_t | hash (const BasicJsonType &j) |
hash a JSON value More... | |
template<typename IteratorType > | |
iterator_input_adapter_factory < IteratorType >::adapter_type | input_adapter (IteratorType first, IteratorType last) |
template<typename ContainerType > | |
container_input_adapter_factory_impl::container_input_adapter_factory < ContainerType > ::adapter_type | input_adapter (const ContainerType &container) |
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 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 T , std::size_t N> | |
auto | input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N)) |
static bool | little_endianess (int num=1) noexcept |
determine system byte order More... | |
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). More... | |
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 = typedef decltype(std::declval<T&>().binary(std::declval<Binary&>())) |
using nlohmann::detail::boolean_function_t = typedef decltype(std::declval<T&>().boolean(std::declval<bool>())) |
using nlohmann::detail::contiguous_bytes_input_adapter = typedef decltype(input_adapter(std::declval<const char*>(), std::declval<const char*>())) |
using nlohmann::detail::detected_or = typedef detector<Default, void, Op, Args...> |
using nlohmann::detail::detected_or_t = typedef typename detected_or<Default, Op, Args...>::type |
using nlohmann::detail::detected_t = typedef typename detector<nonesuch, void, Op, Args...>::type |
using nlohmann::detail::difference_type_t = typedef typename T::difference_type |
using nlohmann::detail::enable_if_t = typedef typename std::enable_if<B, T>::type |
using nlohmann::detail::end_array_function_t = typedef decltype(std::declval<T&>().end_array()) |
using nlohmann::detail::end_object_function_t = typedef decltype(std::declval<T&>().end_object()) |
using nlohmann::detail::from_json_function = typedef decltype(T::from_json(std::declval<Args>()...)) |
using nlohmann::detail::get_template_function = typedef decltype(std::declval<T>().template get<U>()) |
using nlohmann::detail::index_sequence = typedef integer_sequence<size_t, Ints...> |
using nlohmann::detail::index_sequence_for = typedef make_index_sequence<sizeof...(Ts)> |
using nlohmann::detail::is_detected = typedef typename detector<nonesuch, void, Op, Args...>::value_t |
using nlohmann::detail::is_detected_convertible = typedef std::is_convertible<detected_t<Op, Args...>, To> |
using nlohmann::detail::is_detected_exact = typedef std::is_same<Expected, detected_t<Op, Args...>> |
using nlohmann::detail::iterator_category_t = typedef typename T::iterator_category |
using nlohmann::detail::iterator_t = typedef typename T::iterator |
using nlohmann::detail::key_function_t = typedef decltype(std::declval<T&>().key(std::declval<String&>())) |
using nlohmann::detail::key_type_t = typedef typename T::key_type |
using nlohmann::detail::make_index_sequence = typedef make_integer_sequence<size_t, N> |
using nlohmann::detail::make_integer_sequence = typedef typename utility_internal::Gen<T, N>::type |
using nlohmann::detail::mapped_type_t = typedef typename T::mapped_type |
using nlohmann::detail::null_function_t = typedef decltype(std::declval<T&>().null()) |
using nlohmann::detail::number_float_function_t = typedef decltype(std::declval<T&>().number_float( std::declval<Float>(), std::declval<const String&>())) |
using nlohmann::detail::number_integer_function_t = typedef decltype(std::declval<T&>().number_integer(std::declval<Integer>())) |
using nlohmann::detail::number_unsigned_function_t = typedef decltype(std::declval<T&>().number_unsigned(std::declval<Unsigned>())) |
using nlohmann::detail::output_adapter_t = typedef std::shared_ptr<output_adapter_protocol<CharType>> |
a type to simplify interfaces
using nlohmann::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&>())) |
using nlohmann::detail::parser_callback_t = typedef std::function<bool(int , parse_event_t , BasicJsonType& )> |
using nlohmann::detail::pointer_t = typedef typename T::pointer |
using nlohmann::detail::reference_t = typedef typename T::reference |
using nlohmann::detail::start_array_function_t = typedef decltype(std::declval<T&>().start_array(std::declval<std::size_t>())) |
using nlohmann::detail::start_object_function_t = typedef decltype(std::declval<T&>().start_object(std::declval<std::size_t>())) |
using nlohmann::detail::string_function_t = typedef decltype(std::declval<T&>().string(std::declval<String&>())) |
using nlohmann::detail::to_json_function = typedef decltype(T::to_json(std::declval<Args>()...)) |
using nlohmann::detail::uncvref_t = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type |
using nlohmann::detail::value_type_t = typedef typename T::value_type |
using nlohmann::detail::void_t = typedef 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 |
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 |
|
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 |
Referenced by hash().
T nlohmann::detail::conditional_static_cast | ( | U | value | ) |
References nlohmann::detail::is_ordered_map< T >::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.
References replace_substring().
Referenced by nlohmann::detail::exception::diagnostics(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::diff(), nlohmann::json_pointer< BasicJsonType >::flatten(), and nlohmann::json_pointer< BasicJsonType >::to_string().
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename std::nullptr_t & | n | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Referenced by nlohmann::adl_serializer< T, SFINAE >::from_json(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_impl(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::get_to(), and nlohmann::detail::from_json_fn::operator()().
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename BasicJsonType::boolean_t & | b | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename BasicJsonType::string_t & | s | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
ConstructibleStringType & | s | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename BasicJsonType::number_float_t & | val | ||
) |
References get_arithmetic_value().
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename BasicJsonType::number_unsigned_t & | val | ||
) |
References get_arithmetic_value().
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename BasicJsonType::number_integer_t & | val | ||
) |
References get_arithmetic_value().
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
EnumType & | e | ||
) |
References get_arithmetic_value().
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
std::forward_list< T, Allocator > & | l | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
std::valarray< T > & | l | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
auto nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
T(&) | arr[N] | ||
) | -> decltype(j.template get<T>(), void()) |
auto nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
ConstructibleArrayType & | arr | ||
) | -> decltype(from_json_array_impl(j, arr, priority_tag<3> |
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> |
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
typename BasicJsonType::binary_t & | bin | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
ConstructibleObjectType & | obj | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
ArithmeticType & | val | ||
) |
References JSON_THROW.
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> |
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
std::map< Key, Value, Compare, Allocator > & | m | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json | ( | const BasicJsonType & | j, |
std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > & | m | ||
) |
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
void nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
typename BasicJsonType::array_t & | arr, | ||
priority_tag< 3 > | |||
) |
Referenced by void().
auto nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
std::array< T, N > & | arr, | ||
priority_tag< 2 > | |||
) | -> decltype(j.template get<T>(), void()) |
auto nlohmann::detail::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()) |
void nlohmann::detail::from_json_array_impl | ( | const BasicJsonType & | j, |
ConstructibleArrayType & | arr, | ||
priority_tag< 0 > | |||
) |
std::array<T, sizeof...(Idx)> nlohmann::detail::from_json_inplace_array_impl | ( | BasicJsonType && | j, |
identity_tag< std::array< T, sizeof...(Idx)>> | , | ||
index_sequence< Idx...> | |||
) |
std::pair<A1, A2> nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
identity_tag< std::pair< A1, A2 >> | , | ||
priority_tag< 0 > | |||
) |
Referenced by from_json_tuple_impl().
void nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
std::pair< A1, A2 > & | p, | ||
priority_tag< 1 > | |||
) |
References from_json_tuple_impl().
std::tuple<Args...> nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
identity_tag< std::tuple< Args...>> | , | ||
priority_tag< 2 > | |||
) |
References from_json_tuple_impl_base().
void nlohmann::detail::from_json_tuple_impl | ( | BasicJsonType && | j, |
std::tuple< Args...> & | t, | ||
priority_tag< 3 > | |||
) |
References from_json_tuple_impl_base().
std::tuple<Args...> nlohmann::detail::from_json_tuple_impl_base | ( | BasicJsonType && | j, |
index_sequence< Idx...> | |||
) |
Referenced by from_json_tuple_impl().
auto nlohmann::detail::get | ( | const nlohmann::detail::iteration_proxy_value< IteratorType > & | i | ) | -> decltype(i.key()) |
j template nlohmann::detail::get< typename ConstructibleArrayType::value_type > | ( | ) |
void nlohmann::detail::get_arithmetic_value | ( | const BasicJsonType & | j, |
ArithmeticType & | val | ||
) |
References JSON_THROW.
Referenced by 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 |
References combine(), and JSON_ASSERT.
Referenced by std::hash< nlohmann::json >::operator()().
iterator_input_adapter_factory<IteratorType>::adapter_type nlohmann::detail::input_adapter | ( | IteratorType | first, |
IteratorType | last | ||
) |
Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::accept(), 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::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_bson(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_cbor(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_msgpack(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::from_ubjson(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::get_ubjson_high_precision_number(), input_adapter(), nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse(), and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::sax_parse().
container_input_adapter_factory_impl::container_input_adapter_factory<ContainerType>::adapter_type nlohmann::detail::input_adapter | ( | const ContainerType & | container | ) |
|
inline |
|
inline |
|
inline |
contiguous_bytes_input_adapter nlohmann::detail::input_adapter | ( | CharT | b | ) |
References input_adapter().
auto nlohmann::detail::input_adapter | ( | T(&) | array[N] | ) | -> decltype(input_adapter(array, array + N)) |
References array, and input_adapter().
void nlohmann::detail::int_to_string | ( | string_type & | target, |
std::size_t | value | ||
) |
References nlohmann::to_string().
Referenced by nlohmann::detail::iteration_proxy_value< IteratorType >::key().
|
inlinestaticnoexcept |
determine system byte order
|
inlinenoexcept |
comparison operator for JSON types
Returns an ordering that is similar to Python:
Referenced by std::less<::nlohmann::detail::value_t >::operator()(), and nlohmann::detail::iter_impl< BasicJsonType >::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 |
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.
References nlohmann::detail::dtoa_impl::format_buffer(), nlohmann::detail::dtoa_impl::grisu2(), and JSON_ASSERT.
|
noexcept |
Referenced by nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::basic_json(), nlohmann::detail::to_json_fn::operator()(), nlohmann::adl_serializer< T, SFINAE >::to_json(), and to_json_tuple_impl().
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const CompatibleString & | s | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
typename BasicJsonType::string_t && | s | ||
) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const std::vector< bool > & | e | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const CompatibleArrayType & | arr | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const typename BasicJsonType::binary_t & | bin | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const std::valarray< T > & | arr | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
typename BasicJsonType::array_t && | arr | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const CompatibleObjectType & | obj | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
typename BasicJsonType::object_t && | obj | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const T(&) | arr[N] | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const std::pair< T1, T2 > & | p | ||
) |
void nlohmann::detail::to_json | ( | BasicJsonType & | j, |
const T & | b | ||
) |
void nlohmann::detail::to_json_tuple_impl | ( | BasicJsonType & | j, |
const Tuple & | t, | ||
index_sequence< Idx...> | |||
) |
References 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.
References replace_substring().
Referenced by nlohmann::json_pointer< BasicJsonType >::split().
j template nlohmann::detail::void | ( | ) |
References from_json_array_impl(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Referenced by XrdCmsClient::Added(), XrdCl::CopyProgressHandler::BeginJob(), nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >::binary_reader(), XrdCksWrapper::Calc(), XrdCks::Calc(), XrdCl::FileSystemPlugIn::ChMod(), XrdCl::FilePlugIn::Close(), XrdPfc::Decision::ConfigDecision(), XrdCmsPerfMon::Configure(), XrdSsiProvider::Control(), XrdSecProtocol::Decrypt(), XrdCl::FileSystemPlugIn::DeepLocate(), XrdCl::FileSystemPlugIn::DelXAttr(), XrdPosixPrepIO::Detach(), XrdPosixFile::Detach(), XrdCl::FileSystemPlugIn::DirList(), XrdOfsEvr::theClient::Done(), XrdOucCallBack::Done(), XrdSecProtocol::Encrypt(), XrdCl::CopyProgressHandler::EndJob(), XrdSys::IOEvents::CallBack::Fatal(), XrdCl::FilePlugIn::Fcntl(), XrdCmsClient::Forward(), XrdXrootd::Bridge::Result::Free(), XrdOucCacheIO::Fstat(), XrdCmsPerfMon::GetInfo(), XrdSecProtocol::getKey(), XrdCl::FilePlugIn::GetProperty(), XrdCl::FileSystemPlugIn::GetProperty(), XrdCl::FileSystemPlugIn::GetXAttr(), XrdCl::ResponseHandler::HandleResponse(), XrdOssDF::isCompressed(), XrdCl::CopyProgressHandler::JobProgress(), XrdOss::Lfn2Pfn(), XrdCl::FileSystemPlugIn::ListXAttr(), XrdOucCache::LocalFilePath(), XrdCl::FileSystemPlugIn::Locate(), XrdOucCacheIO::Location(), XrdCl::FileSystemPlugIn::MkDir(), XrdCl::FileSystemPlugIn::Mv(), XrdCks::Object(), XrdCl::MsgHandler::OnReadyToSend(), XrdCl::MsgHandler::OnStreamEvent(), XrdCl::FilePlugIn::Open(), XrdCl::EcHandler::Open(), XrdCl::Optional< T >::Optional(), XrdCl::FilePlugIn::PgRead(), XrdCl::FilePlugIn::PgWrite(), XrdCl::FileSystemPlugIn::Ping(), XrdCmsClient::Prepare(), XrdCl::FileSystemPlugIn::Prepare(), XrdOucCache::Prepare(), XrdOucCacheIO::Preread(), XrdCl::FileSystemPlugIn::Protocol(), XrdCmsPerfMon::PutInfo(), XrdCl::FileSystemPlugIn::Query(), XrdCl::FilePlugIn::Read(), XrdOssDF::Read(), XrdCl::MsgHandler::ReadMessageBody(), XrdCmsClient::Release(), XrdCmsClient::Removed(), XrdOucCache::Rename(), XrdCmsClient::Reserve(), XrdCmsClient::Resource(), XrdCmsClient::Resume(), XrdCl::FileSystemPlugIn::Rm(), XrdCl::FileSystemPlugIn::RmDir(), XrdOucCache::Rmdir(), XrdOfsEvr::theClient::Same(), XrdOucCallBack::Same(), nlohmann::detail::parser< BasicJsonType, InputAdapterType >::sax_parse(), XrdXrootd::Bridge::Context::Send(), XrdCl::FileSystemPlugIn::SendInfo(), XrdSsiProvider::SetCBThreads(), XrdSsiProvider::SetConfig(), XrdSecProtocol::setKey(), XrdCl::FilePlugIn::SetProperty(), XrdCl::FileSystemPlugIn::SetProperty(), XrdSsiProvider::SetSpread(), XrdSsiProvider::SetTimeout(), XrdCl::FileSystemPlugIn::SetXAttr(), XrdSfsFile::setXio(), XrdCl::CopyProgressHandler::ShouldCancel(), XrdSecProtocol::Sign(), XrdCl::FilePlugIn::Stat(), XrdCl::FileSystemPlugIn::Stat(), XrdOucCache::Stat(), XrdOss::Stats(), XrdCl::FileSystemPlugIn::StatVFS(), XrdSys::IOEvents::CallBack::Stop(), XrdCmsClient::Suspend(), XrdCl::FilePlugIn::Sync(), XrdCl::FilePlugIn::Truncate(), XrdCl::FileSystemPlugIn::Truncate(), XrdOucCache::Truncate(), XrdOucCache::Unlink(), XrdCmsClient::Utilization(), XrdCl::FilePlugIn::VectorRead(), XrdCl::FilePlugIn::VectorWrite(), XrdCksWrapper::Ver(), XrdCks::Ver(), XrdSecProtocol::Verify(), XrdCl::FilePlugIn::Visa(), XrdXrootd::Bridge::Result::Wait(), XrdXrootd::Bridge::Result::WaitResp(), XrdCl::FilePlugIn::Write(), XrdOssDF::Write(), XrdCl::MsgHandler::WriteMessageBody(), XrdCl::FilePlugIn::WriteV(), XrdOucCache::Xeq(), XrdOssCsiPages::~XrdOssCsiPages(), and XrdOssCsiTagstoreFile::~XrdOssCsiTagstoreFile().