|
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 | 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 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, 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>()) |
|
template<typename T> |
using | detect_key_compare = typename T::key_compare |
|
template<typename BasicJsonType> |
using | actual_object_comparator_t = typename actual_object_comparator<BasicJsonType>::type |
|
template<typename R> |
using | iterator_t = enable_if_t<is_range<R>::value, result_of_begin<decltype(std::declval<R&>())>> |
|
template<typename T> |
using | range_value_t = value_type_t<iterator_traits<iterator_t<T>>> |
|
template<typename T> |
using | is_json_pointer = is_specialization_of<::nlohmann::json_pointer, uncvref_t<T>> |
|
template<typename T> |
using | detect_is_transparent = typename T::is_transparent |
|
template<typename Comparator, typename ObjectKeyType, typename KeyTypeCVRef, bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>> |
using | is_usable_as_key_type |
|
template<typename BasicJsonType, typename KeyTypeCVRef, bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>> |
using | is_usable_as_basic_json_key_type |
|
template<typename ObjectType, typename KeyType> |
using | detect_erase_with_key_type |
|
template<typename BasicJsonType, typename KeyType> |
using | has_erase_with_key_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... Types> |
using | same_sign |
|
template<typename OfType, typename T> |
using | never_out_of_range |
|
template<bool Value> |
using | bool_constant = std::integral_constant<bool, Value> |
|
template<typename T> |
using | is_c_string_uncvref = is_c_string<uncvref_t<T>> |
|
template<typename StringType, typename Arg> |
using | string_can_append = decltype(std::declval<StringType&>().append(std::declval<Arg&&>())) |
|
template<typename StringType, typename Arg> |
using | detect_string_can_append = is_detected<string_can_append, StringType, Arg> |
|
template<typename StringType, typename Arg> |
using | string_can_append_op = decltype(std::declval<StringType&>() += std::declval<Arg&&>()) |
|
template<typename StringType, typename Arg> |
using | detect_string_can_append_op = is_detected<string_can_append_op, StringType, Arg> |
|
template<typename StringType, typename Arg> |
using | string_can_append_iter |
|
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 | string_can_append_data |
|
template<typename StringType, typename Arg> |
using | detect_string_can_append_data = is_detected<string_can_append_data, StringType, Arg> |
|
using | contiguous_bytes_input_adapter |
|
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 |
|
template<typename T, typename Unsigned> |
using | number_unsigned_function_t |
|
template<typename T, typename Float, typename String> |
using | number_float_function_t |
|
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 |
|
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 |
|
template<typename T> |
using | end_array_function_t = decltype(std::declval<T&>().end_array()) |
|
template<typename T, typename Exception> |
using | parse_error_function_t |
|
template<typename BasicJsonType> |
using | parser_callback_t |
|
template<class T> |
using | json_base_class |
|
template<typename CharType> |
using | output_adapter_t = std::shared_ptr<output_adapter_protocol<CharType>> |
| a type to simplify interfaces
|
|
|
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 StringType> |
StringType | escape (StringType s) |
| string escaping as described in RFC 6901 (Sect. 4)
|
|
template<typename T, typename... Args> |
constexpr std::array< T, sizeof...(Args)> | make_array (Args &&... args) |
|
template<typename T, typename U, enable_if_t<!std::is_same< T, U >::value, int > = 0> |
T | conditional_static_cast (U value) |
|
template<typename OfType, typename T> |
constexpr bool | value_in_range_of (T val) |
|
std::size_t | concat_length () |
|
template<typename... Args> |
std::size_t | concat_length (const char *cstr, const Args &... rest) |
|
template<typename StringType, typename... Args> |
std::size_t | concat_length (const StringType &str, const Args &... rest) |
|
template<typename... Args> |
std::size_t | concat_length (const char, const Args &... rest) |
|
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) |
|
template<typename OutStringType = std::string, typename... Args> |
OutStringType | concat (Args &&... args) |
|
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 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> |
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 >(), 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 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 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
|
|
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)) |
|
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).
|
|