|
struct | actual_object_comparator |
|
class | binary_reader |
| deserialization of CBOR, MessagePack, and UBJSON values More...
|
|
struct | conjunction |
|
struct | conjunction< B > |
|
struct | conjunction< B, Bn... > |
|
struct | detector |
|
struct | detector< Default, void_t< Op< Args... > >, Op, Args... > |
|
class | exception |
| general exception of the basic_json class More...
|
|
struct | external_constructor |
|
struct | external_constructor< value_t::array > |
|
struct | external_constructor< value_t::binary > |
|
struct | external_constructor< value_t::boolean > |
|
struct | external_constructor< value_t::number_float > |
|
struct | external_constructor< value_t::number_integer > |
|
struct | external_constructor< value_t::number_unsigned > |
|
struct | external_constructor< value_t::object > |
|
struct | external_constructor< value_t::string > |
|
struct | has_from_json |
|
struct | has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > |
|
struct | has_key_compare |
|
struct | has_non_default_from_json |
|
struct | has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > |
|
struct | has_to_json |
|
struct | has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > > |
|
struct | integer_sequence |
|
struct | internal_iterator |
| an iterator value More...
|
|
class | invalid_iterator |
| exception indicating errors with iterators More...
|
|
struct | is_basic_json |
|
struct | is_basic_json< NLOHMANN_BASIC_JSON_TPL > |
|
struct | is_basic_json_context |
|
struct | is_c_string |
|
struct | is_comparable |
|
struct | is_comparable< Compare, A, B, void_t< decltype(std::declval< Compare >()(std::declval< A >(), std::declval< B >())), decltype(std::declval< Compare >()(std::declval< B >(), std::declval< A >()))> > |
|
struct | is_compatible_array_type |
|
struct | is_compatible_array_type_impl |
|
struct | is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< iterator_t, CompatibleArrayType >::value &&is_iterator_traits< iterator_traits< detected_t< iterator_t, CompatibleArrayType > > >::value &&!std::is_same< CompatibleArrayType, detected_t< range_value_t, CompatibleArrayType > >::value > > |
|
struct | is_compatible_integer_type |
|
struct | is_compatible_integer_type_impl |
|
struct | is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, enable_if_t< std::is_integral< RealIntegerType >::value &&std::is_integral< CompatibleNumberIntegerType >::value &&!std::is_same< bool, CompatibleNumberIntegerType >::value > > |
|
struct | is_compatible_object_type |
|
struct | is_compatible_object_type_impl |
|
struct | is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, enable_if_t< is_detected< mapped_type_t, CompatibleObjectType >::value &&is_detected< key_type_t, CompatibleObjectType >::value > > |
|
struct | is_compatible_string_type |
|
struct | is_compatible_type |
|
struct | is_compatible_type_impl |
|
struct | is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > > |
|
struct | is_complete_type |
|
struct | is_complete_type< T, decltype(void(sizeof(T)))> |
|
struct | is_constructible |
|
struct | is_constructible< const std::pair< T1, T2 > > |
|
struct | is_constructible< const std::tuple< Ts... > > |
|
struct | is_constructible< std::pair< T1, T2 > > |
|
struct | is_constructible< std::tuple< Ts... > > |
|
struct | is_constructible_array_type |
|
struct | is_constructible_array_type_impl |
|
struct | is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&!is_compatible_string_type< BasicJsonType, ConstructibleArrayType >::value &&is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< iterator_t, ConstructibleArrayType >::value &&is_iterator_traits< iterator_traits< detected_t< iterator_t, ConstructibleArrayType > > >::value &&is_detected< range_value_t, ConstructibleArrayType >::value &&!std::is_same< ConstructibleArrayType, detected_t< range_value_t, ConstructibleArrayType > >::value &&is_complete_type< detected_t< range_value_t, ConstructibleArrayType > >::value > > |
|
struct | is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > > |
|
struct | is_constructible_object_type |
|
struct | is_constructible_object_type_impl |
|
struct | is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, enable_if_t< is_detected< mapped_type_t, ConstructibleObjectType >::value &&is_detected< key_type_t, ConstructibleObjectType >::value > > |
|
struct | is_constructible_string_type |
|
struct | is_constructible_tuple |
|
struct | is_constructible_tuple< T1, std::tuple< Args... > > |
|
struct | is_default_constructible |
|
struct | is_default_constructible< const std::pair< T1, T2 > > |
|
struct | is_default_constructible< const std::tuple< Ts... > > |
|
struct | is_default_constructible< std::pair< T1, T2 > > |
|
struct | is_default_constructible< std::tuple< Ts... > > |
|
struct | is_detected_lazy |
|
struct | is_getable |
|
struct | is_iterator_traits |
|
struct | is_iterator_traits< iterator_traits< T > > |
|
struct | is_json_iterator_of |
|
struct | is_json_iterator_of< BasicJsonType, typename BasicJsonType::const_iterator > |
|
struct | is_json_iterator_of< BasicJsonType, typename BasicJsonType::iterator > |
|
struct | is_json_ref |
|
struct | is_json_ref< json_ref< T > > |
|
struct | is_ordered_map |
|
struct | is_range |
|
struct | is_specialization_of |
|
struct | is_specialization_of< Primary, Primary< Args... > > |
|
struct | is_transparent |
|
class | iter_impl |
| a template for a bidirectional iterator for the basic_json class This class implements a both iterators (iterator and const_iterator) for the basic_json class. More...
|
|
class | iteration_proxy |
| proxy class for the items() function More...
|
|
class | iteration_proxy_value |
|
struct | iterator_traits |
|
struct | iterator_traits< T *, enable_if_t< std::is_object< T >::value > > |
|
struct | iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > > |
|
struct | iterator_types |
|
struct | iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > > |
|
struct | json_default_base |
| Default base class of the basic_json class. More...
|
|
class | json_ref |
|
class | json_reverse_iterator |
| a template for a reverse iterator class More...
|
|
class | json_sax_acceptor |
|
class | json_sax_dom_callback_parser |
|
class | json_sax_dom_parser |
| SAX implementation to create a JSON value from SAX events. More...
|
|
class | lexer |
| lexical analysis More...
|
|
class | lexer_base |
|
struct | make_void |
|
struct | negation |
|
struct | nonesuch |
|
class | other_error |
| exception indicating other library errors More...
|
|
class | out_of_range |
| exception indicating access out of the defined range More...
|
|
class | parse_error |
| exception indicating a parse error More...
|
|
struct | position_t |
| struct to capture the start position of the current token More...
|
|
struct | priority_tag |
|
struct | priority_tag< 0 > |
|
class | serializer |
|
struct | static_const |
|
struct | to_json_fn |
|
class | type_error |
| exception indicating executing a member function with a wrong type More...
|
|
struct | value_in_range_of_impl1 |
|
struct | value_in_range_of_impl1< OfType, T, false > |
|
struct | value_in_range_of_impl1< OfType, T, true > |
|
struct | value_in_range_of_impl2 |
|
struct | value_in_range_of_impl2< OfType, T, false, false > |
|
struct | value_in_range_of_impl2< OfType, T, false, true > |
|
struct | value_in_range_of_impl2< OfType, T, true, false > |
|
struct | value_in_range_of_impl2< OfType, T, true, true > |
|
|
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 = typename std::conditional< is_comparable< Comparator, ObjectKeyType, KeyTypeCVRef >::value &&!(ExcludeObjectKeyType &&std::is_same< KeyType, ObjectKeyType >::value) &&(!RequireTransparentComparator||is_detected< detect_is_transparent, Comparator >::value) &&!is_json_pointer< KeyType >::value, std::true_type, std::false_type >::type |
|
template<typename BasicJsonType , typename KeyTypeCVRef , bool RequireTransparentComparator = true, bool ExcludeObjectKeyType = RequireTransparentComparator, typename KeyType = uncvref_t<KeyTypeCVRef>> |
using | is_usable_as_basic_json_key_type = typename std::conditional< is_usable_as_key_type< typename BasicJsonType::object_comparator_t, typename BasicJsonType::object_t::key_type, KeyTypeCVRef, RequireTransparentComparator, ExcludeObjectKeyType >::value &&!is_json_iterator_of< BasicJsonType, KeyType >::value, std::true_type, std::false_type >::type |
|
template<typename ObjectType , typename KeyType > |
using | detect_erase_with_key_type = decltype(std::declval< ObjectType & >().erase(std::declval< KeyType >())) |
|
template<typename BasicJsonType , typename KeyType > |
using | has_erase_with_key_type = typename std::conditional< is_detected< detect_erase_with_key_type, typename BasicJsonType::object_t, KeyType >::value, std::true_type, std::false_type >::type |
|
template<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 = std::integral_constant< bool, all_signed< Types... >::value||all_unsigned< Types... >::value > |
|
template<typename OfType , typename T > |
using | never_out_of_range = std::integral_constant< bool,(std::is_signed< OfType >::value &&(sizeof(T)< sizeof(OfType)))||(same_sign< OfType, T >::value &&sizeof(OfType)==sizeof(T)) > |
|
template<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 = decltype(std::declval< StringType & >().append(std::declval< const Arg & >().begin(), std::declval< const Arg & >().end())) |
|
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 = decltype(std::declval< StringType & >().append(std::declval< const Arg & >().data(), std::declval< const Arg & >().size())) |
|
template<typename StringType , typename Arg > |
using | detect_string_can_append_data = is_detected< string_can_append_data, StringType, Arg > |
|
template<class T > |
using | json_base_class = typename std::conditional< std::is_same< T, void >::value, json_default_base, T >::type |
|
|
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 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... >) |
|
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.
- Since
- version 2.1.0