MUQ  0.4.3
json.h File Reference

Go to the source code of this file.

Classes

struct  nlohmann::detail::position_t
 struct to capture the start position of the current token More...
 
class  nlohmann::detail::exception
 general exception of the basic_json class More...
 
class  nlohmann::detail::parse_error
 exception indicating a parse error More...
 
class  nlohmann::detail::invalid_iterator
 exception indicating errors with iterators More...
 
class  nlohmann::detail::type_error
 exception indicating executing a member function with a wrong type More...
 
class  nlohmann::detail::out_of_range
 exception indicating access out of the defined range More...
 
class  nlohmann::detail::other_error
 exception indicating other library errors More...
 
struct  nlohmann::detail::index_sequence< Ints >
 
struct  nlohmann::detail::merge_and_renumber< index_sequence< I1... >, index_sequence< I2... > >
 
struct  nlohmann::detail::make_index_sequence< N >
 
struct  nlohmann::detail::make_index_sequence< 0 >
 
struct  nlohmann::detail::make_index_sequence< 1 >
 
struct  nlohmann::detail::priority_tag< N >
 
struct  nlohmann::detail::priority_tag< 0 >
 
struct  nlohmann::detail::static_const< T >
 
struct  nlohmann::detail::make_void< Ts >
 
struct  nlohmann::detail::iterator_types< It, typename >
 
struct  nlohmann::detail::iterator_types< It, void_t< typename It::difference_type, typename It::value_type, typename It::pointer, typename It::reference, typename It::iterator_category > >
 
struct  nlohmann::detail::iterator_traits< T, typename >
 
struct  nlohmann::detail::iterator_traits< T, enable_if_t< !std::is_pointer< T >::value > >
 
struct  nlohmann::detail::iterator_traits< T *, enable_if_t< std::is_object< T >::value > >
 
struct  nlohmann::detail::nonesuch
 
struct  nlohmann::detail::detector< Default, AlwaysVoid, Op, Args >
 
struct  nlohmann::detail::detector< Default, void_t< Op< Args... > >, Op, Args... >
 
struct  nlohmann::detail::is_basic_json< typename >
 
struct  nlohmann::detail::is_basic_json< NLOHMANN_BASIC_JSON_TPL >
 
struct  nlohmann::detail::is_json_ref< typename >
 
struct  nlohmann::detail::is_json_ref< json_ref< T > >
 
struct  nlohmann::detail::has_from_json< BasicJsonType, T, typename >
 
struct  nlohmann::detail::is_getable< BasicJsonType, T >
 
struct  nlohmann::detail::has_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
 
struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, typename >
 
struct  nlohmann::detail::has_non_default_from_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
 
struct  nlohmann::detail::has_to_json< BasicJsonType, T, typename >
 
struct  nlohmann::detail::has_to_json< BasicJsonType, T, enable_if_t< !is_basic_json< T >::value > >
 
struct  nlohmann::detail::is_iterator_traits< T, typename >
 
struct  nlohmann::detail::is_iterator_traits< iterator_traits< T > >
 
struct  nlohmann::detail::is_complete_type< T, typename >
 
struct  nlohmann::detail::is_complete_type< T, decltype(void(sizeof(T)))>
 
struct  nlohmann::detail::is_compatible_object_type_impl< BasicJsonType, CompatibleObjectType, typename >
 
struct  nlohmann::detail::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  nlohmann::detail::is_compatible_object_type< BasicJsonType, CompatibleObjectType >
 
struct  nlohmann::detail::is_constructible_object_type_impl< BasicJsonType, ConstructibleObjectType, typename >
 
struct  nlohmann::detail::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  nlohmann::detail::is_constructible_object_type< BasicJsonType, ConstructibleObjectType >
 
struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, typename >
 
struct  nlohmann::detail::is_compatible_string_type_impl< BasicJsonType, CompatibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, CompatibleStringType >::value > >
 
struct  nlohmann::detail::is_compatible_string_type< BasicJsonType, ConstructibleStringType >
 
struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, typename >
 
struct  nlohmann::detail::is_constructible_string_type_impl< BasicJsonType, ConstructibleStringType, enable_if_t< is_detected_exact< typename BasicJsonType::string_t::value_type, value_type_t, ConstructibleStringType >::value > >
 
struct  nlohmann::detail::is_constructible_string_type< BasicJsonType, ConstructibleStringType >
 
struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, typename >
 
struct  nlohmann::detail::is_compatible_array_type_impl< BasicJsonType, CompatibleArrayType, enable_if_t< is_detected< value_type_t, CompatibleArrayType >::value &&is_detected< iterator_t, CompatibleArrayType >::value &&!is_iterator_traits< iterator_traits< CompatibleArrayType > >::value > >
 
struct  nlohmann::detail::is_compatible_array_type< BasicJsonType, CompatibleArrayType >
 
struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, typename >
 
struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value > >
 
struct  nlohmann::detail::is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >
 
struct  nlohmann::detail::is_constructible_array_type< BasicJsonType, ConstructibleArrayType >
 
struct  nlohmann::detail::is_compatible_integer_type_impl< RealIntegerType, CompatibleNumberIntegerType, typename >
 
struct  nlohmann::detail::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  nlohmann::detail::is_compatible_integer_type< RealIntegerType, CompatibleNumberIntegerType >
 
struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, typename >
 
struct  nlohmann::detail::is_compatible_type_impl< BasicJsonType, CompatibleType, enable_if_t< is_complete_type< CompatibleType >::value > >
 
struct  nlohmann::detail::is_compatible_type< BasicJsonType, CompatibleType >
 
struct  nlohmann::detail::conjunction<... >
 
struct  nlohmann::detail::conjunction< B1 >
 
struct  nlohmann::detail::conjunction< B1, Bn... >
 
struct  nlohmann::detail::is_constructible_tuple< T1, T2 >
 
struct  nlohmann::detail::is_constructible_tuple< T1, std::tuple< Args... > >
 
struct  nlohmann::detail::from_json_fn
 
class  nlohmann::detail::iteration_proxy_value< IteratorType >
 
class  nlohmann::detail::iteration_proxy< IteratorType >
 proxy class for the items() function More...
 
class  std::tuple_size<::nlohmann::detail::iteration_proxy_value< IteratorType > >
 
class  std::tuple_element< N, ::nlohmann::detail::iteration_proxy_value< IteratorType > >
 
struct  nlohmann::detail::external_constructor< value_t::boolean >
 
struct  nlohmann::detail::external_constructor< value_t::string >
 
struct  nlohmann::detail::external_constructor< value_t::binary >
 
struct  nlohmann::detail::external_constructor< value_t::number_float >
 
struct  nlohmann::detail::external_constructor< value_t::number_unsigned >
 
struct  nlohmann::detail::external_constructor< value_t::number_integer >
 
struct  nlohmann::detail::external_constructor< value_t::array >
 
struct  nlohmann::detail::external_constructor< value_t::object >
 
struct  nlohmann::detail::to_json_fn
 
struct  nlohmann::adl_serializer< typename, typename >
 default JSONSerializer template argument More...
 
class  nlohmann::byte_container_with_subtype< BinaryType >
 an internal type for a backed binary type More...
 
class  nlohmann::detail::file_input_adapter
 
class  nlohmann::detail::input_stream_adapter
 
class  nlohmann::detail::iterator_input_adapter< IteratorType >
 
struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 4 >
 
struct  nlohmann::detail::wide_string_input_helper< BaseInputAdapter, 2 >
 
class  nlohmann::detail::wide_string_input_adapter< BaseInputAdapter, WideCharType >
 
struct  nlohmann::detail::iterator_input_adapter_factory< IteratorType, Enable >
 
struct  nlohmann::detail::is_iterator_of_multibyte< T >
 
struct  nlohmann::detail::iterator_input_adapter_factory< IteratorType, enable_if_t< is_iterator_of_multibyte< IteratorType >::value > >
 
class  nlohmann::detail::span_input_adapter
 
struct  nlohmann::json_sax< BasicJsonType >
 SAX interface. More...
 
class  nlohmann::detail::json_sax_dom_parser< BasicJsonType >
 SAX implementation to create a JSON value from SAX events. More...
 
class  nlohmann::detail::json_sax_dom_callback_parser< BasicJsonType >
 
class  nlohmann::detail::json_sax_acceptor< BasicJsonType >
 
class  nlohmann::detail::lexer_base< BasicJsonType >
 
class  nlohmann::detail::lexer< BasicJsonType, InputAdapterType >
 lexical analysis More...
 
struct  nlohmann::detail::is_sax< SAX, BasicJsonType >
 
struct  nlohmann::detail::is_sax_static_asserts< SAX, BasicJsonType >
 
class  nlohmann::detail::binary_reader< BasicJsonType, InputAdapterType, SAX >
 deserialization of CBOR, MessagePack, and UBJSON values More...
 
class  nlohmann::detail::parser< BasicJsonType, InputAdapterType >
 syntax analysis More...
 
class  nlohmann::detail::primitive_iterator_t
 
struct  nlohmann::detail::internal_iterator< BasicJsonType >
 an iterator value More...
 
class  nlohmann::detail::iter_impl< BasicJsonType >
 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  nlohmann::detail::json_reverse_iterator< Base >
 a template for a reverse iterator class More...
 
class  nlohmann::json_pointer< BasicJsonType >
 JSON Pointer. More...
 
class  nlohmann::detail::json_ref< BasicJsonType >
 
struct  nlohmann::detail::output_adapter_protocol< CharType >
 abstract output adapter interface More...
 
class  nlohmann::detail::output_vector_adapter< CharType >
 output adapter for byte vectors More...
 
class  nlohmann::detail::output_stream_adapter< CharType >
 output adapter for output streams More...
 
class  nlohmann::detail::output_string_adapter< CharType, StringType >
 output adapter for basic_string More...
 
class  nlohmann::detail::output_adapter< CharType, StringType >
 
class  nlohmann::detail::binary_writer< BasicJsonType, CharType >
 serialization to CBOR and MessagePack values More...
 
struct  nlohmann::detail::dtoa_impl::diyfp
 
struct  nlohmann::detail::dtoa_impl::boundaries
 
struct  nlohmann::detail::dtoa_impl::cached_power
 
class  nlohmann::detail::serializer< BasicJsonType >
 
struct  nlohmann::ordered_map< Key, T, IgnoredLess, Allocator >
 
class  nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >
 a class to store JSON values More...
 
union  nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::json_value
 a JSON value More...
 
struct  std::hash< nlohmann::json >
 hash value for JSON objects More...
 
struct  std::less<::nlohmann::detail::value_t >
 

Namespaces

 nlohmann
 namespace for Niels Lohmann
 
 nlohmann::detail
 detail namespace with internal helper functions
 
 nlohmann::detail::dtoa_impl
 implements the Grisu2 algorithm for binary to decimal floating-point conversion.
 

Typedefs

template<bool B, typename T = void>
using nlohmann::detail::enable_if_t = typename std::enable_if< B, T >::type
 
template<typename T >
using nlohmann::detail::uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type
 
template<typename... Ts>
using nlohmann::detail::index_sequence_for = make_index_sequence< sizeof...(Ts)>
 
template<typename ... Ts>
using nlohmann::detail::void_t = typename make_void< Ts... >::type
 
template<template< class... > class Op, class... Args>
using nlohmann::detail::is_detected = typename detector< nonesuch, void, Op, Args... >::value_t
 
template<template< class... > class Op, class... Args>
using nlohmann::detail::detected_t = typename detector< nonesuch, void, Op, Args... >::type
 
template<class Default , template< class... > class Op, class... Args>
using nlohmann::detail::detected_or = detector< Default, void, Op, Args... >
 
template<class Default , template< class... > class Op, class... Args>
using nlohmann::detail::detected_or_t = typename detected_or< Default, Op, Args... >::type
 
template<class Expected , template< class... > class Op, class... Args>
using nlohmann::detail::is_detected_exact = std::is_same< Expected, detected_t< Op, Args... > >
 
template<class To , template< class... > class Op, class... Args>
using nlohmann::detail::is_detected_convertible = std::is_convertible< detected_t< Op, Args... >, To >
 
using nlohmann::json = basic_json<>
 default JSON class More...
 
using nlohmann::ordered_json = basic_json< nlohmann::ordered_map >
 ordered JSON class More...
 
template<typename T >
using nlohmann::detail::mapped_type_t = typename T::mapped_type
 
template<typename T >
using nlohmann::detail::key_type_t = typename T::key_type
 
template<typename T >
using nlohmann::detail::value_type_t = typename T::value_type
 
template<typename T >
using nlohmann::detail::difference_type_t = typename T::difference_type
 
template<typename T >
using nlohmann::detail::pointer_t = typename T::pointer
 
template<typename T >
using nlohmann::detail::reference_t = typename T::reference
 
template<typename T >
using nlohmann::detail::iterator_category_t = typename T::iterator_category
 
template<typename T >
using nlohmann::detail::iterator_t = typename T::iterator
 
template<typename T , typename... Args>
using nlohmann::detail::to_json_function = decltype(T::to_json(std::declval< Args >()...))
 
template<typename T , typename... Args>
using nlohmann::detail::from_json_function = decltype(T::from_json(std::declval< Args >()...))
 
template<typename T , typename U >
using nlohmann::detail::get_template_function = decltype(std::declval< T >().template get< U >())
 
using nlohmann::detail::contiguous_bytes_input_adapter = decltype(input_adapter(std::declval< const char * >(), std::declval< const char * >()))
 
template<typename T >
using nlohmann::detail::null_function_t = decltype(std::declval< T & >().null())
 
template<typename T >
using nlohmann::detail::boolean_function_t = decltype(std::declval< T & >().boolean(std::declval< bool >()))
 
template<typename T , typename Integer >
using nlohmann::detail::number_integer_function_t = decltype(std::declval< T & >().number_integer(std::declval< Integer >()))
 
template<typename T , typename Unsigned >
using nlohmann::detail::number_unsigned_function_t = decltype(std::declval< T & >().number_unsigned(std::declval< Unsigned >()))
 
template<typename T , typename Float , typename String >
using nlohmann::detail::number_float_function_t = decltype(std::declval< T & >().number_float(std::declval< Float >(), std::declval< const String & >()))
 
template<typename T , typename String >
using nlohmann::detail::string_function_t = decltype(std::declval< T & >().string(std::declval< String & >()))
 
template<typename T , typename Binary >
using nlohmann::detail::binary_function_t = decltype(std::declval< T & >().binary(std::declval< Binary & >()))
 
template<typename T >
using nlohmann::detail::start_object_function_t = decltype(std::declval< T & >().start_object(std::declval< std::size_t >()))
 
template<typename T , typename String >
using nlohmann::detail::key_function_t = decltype(std::declval< T & >().key(std::declval< String & >()))
 
template<typename T >
using nlohmann::detail::end_object_function_t = decltype(std::declval< T & >().end_object())
 
template<typename T >
using nlohmann::detail::start_array_function_t = decltype(std::declval< T & >().start_array(std::declval< std::size_t >()))
 
template<typename T >
using nlohmann::detail::end_array_function_t = decltype(std::declval< T & >().end_array())
 
template<typename T , typename Exception >
using nlohmann::detail::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 nlohmann::detail::parser_callback_t = std::function< bool(int depth, parse_event_t event, BasicJsonType &parsed)>
 
template<typename CharType >
using nlohmann::detail::output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > >
 a type to simplify interfaces More...
 

Enumerations

enum class  nlohmann::detail::value_t : std::uint8_t {
  nlohmann::detail::null , nlohmann::detail::object , nlohmann::detail::array , nlohmann::detail::string ,
  nlohmann::detail::boolean , nlohmann::detail::number_integer , nlohmann::detail::number_unsigned , nlohmann::detail::number_float ,
  nlohmann::detail::binary , nlohmann::detail::discarded
}
 the JSON type enumeration More...
 
enum class  nlohmann::detail::input_format_t {
  nlohmann::detail::json , nlohmann::detail::cbor , nlohmann::detail::msgpack , nlohmann::detail::ubjson ,
  nlohmann::detail::bson
}
 the supported input formats More...
 
enum class  nlohmann::detail::cbor_tag_handler_t { nlohmann::detail::error , nlohmann::detail::ignore }
 how to treat CBOR tags More...
 
enum class  nlohmann::detail::parse_event_t : uint8_t {
  nlohmann::detail::object_start , nlohmann::detail::object_end , nlohmann::detail::array_start , nlohmann::detail::array_end ,
  nlohmann::detail::key , nlohmann::detail::value
}
 
enum class  nlohmann::detail::error_handler_t { nlohmann::detail::strict , nlohmann::detail::replace , nlohmann::detail::ignore }
 how to treat decoding errors More...
 

Functions

bool nlohmann::detail::operator< (const value_t lhs, const value_t rhs) noexcept
 comparison operator for JSON types More...
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b)
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::from_json (const BasicJsonType &j, ConstructibleStringType &s)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val)
 
template<typename BasicJsonType >
void nlohmann::detail::from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val)
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::from_json (const BasicJsonType &j, std::valarray< T > &l)
 
template<typename BasicJsonType , typename T , std::size_t N>
auto nlohmann::detail::from_json (const BasicJsonType &j, T(&arr)[N]) -> decltype(j.template get< T >(), void())
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::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 >
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())
 
template<typename BasicJsonType , typename ConstructibleArrayType >
void nlohmann::detail::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 nlohmann::detail::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 >
void nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::from_json (const BasicJsonType &j, ArithmeticType &val)
 
template<typename BasicJsonType , typename A1 , typename A2 >
void nlohmann::detail::from_json (const BasicJsonType &j, std::pair< A1, A2 > &p)
 
template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
void nlohmann::detail::from_json_tuple_impl (const BasicJsonType &j, Tuple &t, index_sequence< Idx... >)
 
template<typename BasicJsonType , typename... Args>
void nlohmann::detail::from_json (const BasicJsonType &j, std::tuple< Args... > &t)
 
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 nlohmann::detail::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 nlohmann::detail::from_json (const BasicJsonType &j, std::unordered_map< Key, Value, Hash, KeyEqual, Allocator > &m)
 
template<typename string_type >
void nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::to_json (BasicJsonType &j, const CompatibleString &s)
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept
 
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0>
void nlohmann::detail::to_json (BasicJsonType &j, EnumType e) noexcept
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::to_json (BasicJsonType &j, const CompatibleArrayType &arr)
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::to_json (BasicJsonType &j, const std::valarray< T > &arr)
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::to_json (BasicJsonType &j, const CompatibleObjectType &obj)
 
template<typename BasicJsonType >
void nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::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 nlohmann::detail::to_json (BasicJsonType &j, const T &b)
 
template<typename BasicJsonType , typename Tuple , std::size_t... Idx>
void nlohmann::detail::to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >)
 
std::size_t nlohmann::detail::combine (std::size_t seed, std::size_t h) noexcept
 
template<typename BasicJsonType >
std::size_t nlohmann::detail::hash (const BasicJsonType &j)
 hash a JSON value More...
 
template<typename IteratorType >
iterator_input_adapter_factory< IteratorType >::adapter_type nlohmann::detail::input_adapter (IteratorType first, IteratorType last)
 
template<typename ContainerType >
auto nlohmann::detail::input_adapter (const ContainerType &container) -> decltype(input_adapter(begin(container), end(container)))
 
file_input_adapter nlohmann::detail::input_adapter (std::FILE *file)
 
input_stream_adapter nlohmann::detail::input_adapter (std::istream &stream)
 
input_stream_adapter nlohmann::detail::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 nlohmann::detail::input_adapter (CharT b)
 
template<typename T , std::size_t N>
auto nlohmann::detail::input_adapter (T(&array)[N]) -> decltype(input_adapter(array, array+N))
 
static bool nlohmann::detail::little_endianess (int num=1) noexcept
 determine system byte order More...
 
template<typename Target , typename Source >
Target nlohmann::detail::dtoa_impl::reinterpret_bits (const Source source)
 
template<typename FloatType >
boundaries nlohmann::detail::dtoa_impl::compute_boundaries (FloatType value)
 
cached_power nlohmann::detail::dtoa_impl::get_cached_power_for_binary_exponent (int e)
 
int nlohmann::detail::dtoa_impl::find_largest_pow10 (const std::uint32_t n, std::uint32_t &pow10)
 
void nlohmann::detail::dtoa_impl::grisu2_round (char *buf, int len, std::uint64_t dist, std::uint64_t delta, std::uint64_t rest, std::uint64_t ten_k)
 
void nlohmann::detail::dtoa_impl::grisu2_digit_gen (char *buffer, int &length, int &decimal_exponent, diyfp M_minus, diyfp w, diyfp M_plus)
 
 nlohmann::detail::dtoa_impl::JSON_HEDLEY_NON_NULL (1) JSON_HEDLEY_RETURNS_NON_NULL inline char *append_exponent(char *buf
 appends a decimal representation of e to buf More...
 
 nlohmann::detail::dtoa_impl::JSON_ASSERT (m_plus.e==v.e)
 
const diyfp nlohmann::detail::dtoa_impl::c_minus_k (cached.f, cached.e)
 
const diyfp nlohmann::detail::dtoa_impl::M_minus (w_minus.f+1, w_minus.e)
 
const diyfp nlohmann::detail::dtoa_impl::M_plus (w_plus.f - 1, w_plus.e)
 
 nlohmann::detail::dtoa_impl::grisu2_digit_gen (buf, len, decimal_exponent, M_minus, w, M_plus)
 
 nlohmann::detail::dtoa_impl::JSON_ASSERT (std::isfinite(value))
 
 nlohmann::detail::dtoa_impl::JSON_ASSERT (value > 0)
 
 nlohmann::detail::dtoa_impl::grisu2 (buf, len, decimal_exponent, w.minus, w.w, w.plus)
 
 nlohmann::detail::dtoa_impl::JSON_ASSERT (e< 1000)
 
 nlohmann::detail::dtoa_impl::if (e< 0)
 
 nlohmann::detail::dtoa_impl::JSON_ASSERT (max_exp > 0)
 
 nlohmann::detail::dtoa_impl::if (k<=n &&n<=max_exp)
 
 nlohmann::detail::dtoa_impl::if (k==1)
 
return nlohmann::detail::dtoa_impl::append_exponent (buf, n - 1)
 
template<typename FloatType >
 nlohmann::detail::JSON_HEDLEY_NON_NULL (1, 2) JSON_HEDLEY_RETURNS_NON_NULL char *to_chars(char *first
 generates a decimal representation of the floating-point number value in [first, last). More...
 
 nlohmann::detail::JSON_ASSERT (std::isfinite(value))
 
 nlohmann::detail::if (std::signbit(value))
 
 nlohmann::detail::if (value==0)
 
 nlohmann::detail::JSON_ASSERT (last - first >=std::numeric_limits< FloatType >::max_digits10)
 
 nlohmann::detail::JSON_ASSERT (len<=std::numeric_limits< FloatType >::max_digits10)
 
 nlohmann::detail::JSON_ASSERT (last - first >=kMaxExp+2)
 
 nlohmann::detail::JSON_ASSERT (last - first >=2+(-kMinExp - 1)+std::numeric_limits< FloatType >::max_digits10)
 
 nlohmann::detail::JSON_ASSERT (last - first >=std::numeric_limits< FloatType >::max_digits10+6)
 
NLOHMANN_BASIC_JSON_TPL_DECLARATION std::string nlohmann::to_string (const NLOHMANN_BASIC_JSON_TPL &j)
 user-defined to_string function for JSON values More...
 
template<>
void std::swap< nlohmann::json > (nlohmann::json &j1, nlohmann::json &j2) noexcept(is_nothrow_move_constructible< nlohmann::json >::value &&is_nothrow_move_assignable< nlohmann::json >::value)
 exchanges the values of two JSON objects More...
 
 JSON_HEDLEY_NON_NULL (1) inline nlohmann
 user-defined string literal for JSON values More...
 

Variables

constexpr int nlohmann::detail::dtoa_impl::kAlpha = -60
 
constexpr int nlohmann::detail::dtoa_impl::kGamma = -32
 
int & nlohmann::detail::dtoa_impl::len
 
int int & nlohmann::detail::dtoa_impl::decimal_exponent = -cached.k
 
int int diyfp nlohmann::detail::dtoa_impl::m_minus
 
int int diyfp diyfp nlohmann::detail::dtoa_impl::v
 
int int diyfp diyfp diyfp nlohmann::detail::dtoa_impl::m_plus
 
const cached_power nlohmann::detail::dtoa_impl::cached = get_cached_power_for_binary_exponent(m_plus.e)
 
const diyfp nlohmann::detail::dtoa_impl::w = diyfp::mul(v, c_minus_k)
 
const diyfp nlohmann::detail::dtoa_impl::w_minus = diyfp::mul(m_minus, c_minus_k)
 
const diyfp nlohmann::detail::dtoa_impl::w_plus = diyfp::mul(m_plus, c_minus_k)
 
int int FloatType nlohmann::detail::dtoa_impl::value
 
int nlohmann::detail::dtoa_impl::e
 
 nlohmann::detail::dtoa_impl::else
 
auto nlohmann::detail::dtoa_impl::k = static_cast<std::uint32_t>(e)
 
nlohmann::detail::dtoa_impl::buf = static_cast<char>('0' + k / 10)
 
int int int nlohmann::detail::dtoa_impl::min_exp
 
int int int int nlohmann::detail::dtoa_impl::max_exp
 
const int nlohmann::detail::dtoa_impl::n = len + decimal_exponent
 
const char * nlohmann::detail::last
 
const char FloatType nlohmann::detail::value
 
int nlohmann::detail::len = 0
 
int nlohmann::detail::decimal_exponent = 0
 
constexpr int nlohmann::detail::kMinExp = -4
 
constexpr int nlohmann::detail::kMaxExp = std::numeric_limits<FloatType>::digits10
 

Function Documentation

◆ JSON_HEDLEY_NON_NULL()

JSON_HEDLEY_NON_NULL ( )

user-defined string literal for JSON values

user-defined string literal for JSON pointer

This operator implements a user-defined string literal for JSON objects. It can be used by adding "_json" to a string literal and returns a JSON object if no parse error occurred.

Parameters
[in]sa string representation of a JSON object
[in]nthe length of string s
Returns
a JSON object
Since
version 1.0.0

This operator implements a user-defined string literal for JSON Pointers. It can be used by adding "_json_pointer" to a string literal and returns a JSON pointer object if no parse error occurred.

Parameters
[in]sa string representation of a JSON Pointer
[in]nthe length of string s
Returns
a JSON pointer object
Since
version 2.0.0

Definition at line 25252 of file json.h.

References nlohmann::detail::dtoa_impl::n, and nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType >::parse().

◆ swap< nlohmann::json >()

template<>
void std::swap< nlohmann::json > ( nlohmann::json j1,
nlohmann::json j2 
)
inlinenoexcept

exchanges the values of two JSON objects

Since
version 1.0.0

Definition at line 25227 of file json.h.