|
hoshi-lang dev
Yet another programming language
|
namespace for Niels Lohmann More...
#include <json.hpp>


Public Types | |
| using | value_t = detail::value_t |
| using | json_pointer = ::nlohmann::json_pointer< StringType > |
| JSON Pointer, see nlohmann::json_pointer. | |
| template<typename T , typename SFINAE > | |
| using | json_serializer = JSONSerializer< T, SFINAE > |
| using | error_handler_t = detail::error_handler_t |
| how to treat decoding errors | |
| using | cbor_tag_handler_t = detail::cbor_tag_handler_t |
| how to treat CBOR tags | |
| using | bjdata_version_t = detail::bjdata_version_t |
| how to encode BJData | |
| using | initializer_list_t = std::initializer_list< detail::json_ref< basic_json > > |
| helper type for initializer lists of basic_json values | |
| using | input_format_t = detail::input_format_t |
| using | json_sax_t = json_sax< basic_json > |
| SAX interface type, see nlohmann::json_sax. | |
| using | parse_event_t = detail::parse_event_t |
| parser event types | |
| using | parser_callback_t = detail::parser_callback_t< basic_json > |
| per-element parser callback type | |
Public Member Functions | |
| JSON_HEDLEY_RETURNS_NON_NULL const char * | type_name () const noexcept |
| return the type as string | |
| data (const value_t v) | |
| data (size_type cnt, const basic_json &val) | |
| data () noexcept=default | |
| data (data &&) noexcept=default | |
| data (const data &) noexcept=delete | |
| data & | operator= (data &&) noexcept=delete |
| data & | operator= (const data &) noexcept=delete |
| ~data () noexcept | |
Static Public Member Functions | |
| static allocator_type | get_allocator () |
| returns the allocator associated with the container | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | meta () |
| returns version information on the library | |
| JSON_PRIVATE_UNLESS_TESTED const_reference bool static SAX bool | sax_parse (InputType &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) |
| template<class IteratorType , class SAX > | |
| static bool | sax_parse (IteratorType first, IteratorType last, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) |
| generate SAX events | |
| template<typename SAX > | |
| static bool | sax_parse (detail::span_input_adapter &&i, SAX *sax, input_format_t format=input_format_t::json, const bool strict=true, const bool ignore_comments=false) |
| generate SAX events | |
Public Attributes | |
| JSON_PRIVATE_UNLESS_TESTED | : struct data { value_t m_type = value_t::null |
| json_value | m_value = {} |
| the value of the current element | |
| data | m_data = {} |
Private Types | |
| using | basic_json_t = NLOHMANN_BASIC_JSON_TPL |
| workaround type for MSVC | |
| using | json_base_class_t = ::nlohmann::detail::json_base_class< CustomBaseClass > |
| using | primitive_iterator_t = ::nlohmann::detail::primitive_iterator_t |
| template<typename BasicJsonType > | |
| using | internal_iterator = ::nlohmann::detail::internal_iterator< BasicJsonType > |
| template<typename BasicJsonType > | |
| using | iter_impl = ::nlohmann::detail::iter_impl< BasicJsonType > |
| template<typename Iterator > | |
| using | iteration_proxy = ::nlohmann::detail::iteration_proxy< Iterator > |
| template<typename Base > | |
| using | json_reverse_iterator = ::nlohmann::detail::json_reverse_iterator< Base > |
| template<typename CharType > | |
| using | output_adapter_t = ::nlohmann::detail::output_adapter_t< CharType > |
| template<typename InputType > | |
| using | binary_reader = ::nlohmann::detail::binary_reader< basic_json, InputType > |
| template<typename CharType > | |
| using | binary_writer = ::nlohmann::detail::binary_writer< basic_json, CharType > |
Private Member Functions | |
| template<typename InputAdapterType > | |
| static ::nlohmann::detail::parser< basic_json, InputAdapterType > | parser (InputAdapterType adapter, detail::parser_callback_t< basic_json >cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false) |
| json_value ()=default | |
| default constructor (for null values) | |
| json_value (boolean_t v) noexcept | |
| constructor for booleans | |
| json_value (number_integer_t v) noexcept | |
| constructor for numbers (integer) | |
| json_value (number_unsigned_t v) noexcept | |
| constructor for numbers (unsigned) | |
| json_value (number_float_t v) noexcept | |
| constructor for numbers (floating-point) | |
| json_value (value_t t) | |
| constructor for empty values of a given type | |
| json_value (const string_t &value) | |
| constructor for strings | |
| json_value (string_t &&value) | |
| constructor for rvalue strings | |
| json_value (const object_t &value) | |
| constructor for objects | |
| json_value (object_t &&value) | |
| constructor for rvalue objects | |
| json_value (const array_t &value) | |
| constructor for arrays | |
| json_value (array_t &&value) | |
| constructor for rvalue arrays | |
| json_value (const typename binary_t::container_type &value) | |
| constructor for binary arrays | |
| json_value (typename binary_t::container_type &&value) | |
| constructor for rvalue binary arrays | |
| json_value (const binary_t &value) | |
| constructor for binary arrays (internal type) | |
| json_value (binary_t &&value) | |
| constructor for rvalue binary arrays (internal type) | |
| void | destroy (value_t t) |
| void | assert_invariant (bool check_parents=true) const noexcept |
| checks the class invariants | |
| void | set_parents () |
| iterator | set_parents (iterator it, typename iterator::difference_type count_set_parents) |
| reference | set_parent (reference j, std::size_t old_capacity=detail::unknown_size()) |
| boolean_t | get_impl (boolean_t *) const |
| get a boolean (explicit) | |
| object_t * | get_impl_ptr (object_t *) noexcept |
| get a pointer to the value (object) | |
| constexpr const object_t * | get_impl_ptr (const object_t *) const noexcept |
| get a pointer to the value (object) | |
| array_t * | get_impl_ptr (array_t *) noexcept |
| get a pointer to the value (array) | |
| constexpr const array_t * | get_impl_ptr (const array_t *) const noexcept |
| get a pointer to the value (array) | |
| string_t * | get_impl_ptr (string_t *) noexcept |
| get a pointer to the value (string) | |
| constexpr const string_t * | get_impl_ptr (const string_t *) const noexcept |
| get a pointer to the value (string) | |
| boolean_t * | get_impl_ptr (boolean_t *) noexcept |
| get a pointer to the value (boolean) | |
| constexpr const boolean_t * | get_impl_ptr (const boolean_t *) const noexcept |
| get a pointer to the value (boolean) | |
| number_integer_t * | get_impl_ptr (number_integer_t *) noexcept |
| get a pointer to the value (integer number) | |
| constexpr const number_integer_t * | get_impl_ptr (const number_integer_t *) const noexcept |
| get a pointer to the value (integer number) | |
| number_unsigned_t * | get_impl_ptr (number_unsigned_t *) noexcept |
| get a pointer to the value (unsigned number) | |
| constexpr const number_unsigned_t * | get_impl_ptr (const number_unsigned_t *) const noexcept |
| get a pointer to the value (unsigned number) | |
| number_float_t * | get_impl_ptr (number_float_t *) noexcept |
| get a pointer to the value (floating-point number) | |
| constexpr const number_float_t * | get_impl_ptr (const number_float_t *) const noexcept |
| get a pointer to the value (floating-point number) | |
| binary_t * | get_impl_ptr (binary_t *) noexcept |
| get a pointer to the value (binary) | |
| constexpr const binary_t * | get_impl_ptr (const binary_t *) const noexcept |
| get a pointer to the value (binary) | |
Static Private Member Functions | |
| template<typename T , typename... Args> | |
| static JSON_HEDLEY_RETURNS_NON_NULL T * | create (Args &&... args) |
| helper for exception-safe object creation | |
| template<typename ReferenceType , typename ThisType > | |
| static ReferenceType | get_ref_impl (ThisType &obj) |
| helper function to implement get_ref() | |
Private Attributes | |
| JSON_PRIVATE_UNLESS_TESTED | : using lexer = ::nlohmann::detail::lexer_base<basic_json> |
| JSON_PRIVATE_UNLESS_TESTED | : using serializer = ::nlohmann::detail::serializer<basic_json> |
| JSON_PRIVATE_UNLESS_TESTED | : union json_value { object_t* object |
| array_t * | array |
| array (stored with pointer to save storage) | |
| string_t * | string |
| string (stored with pointer to save storage) | |
| binary_t * | binary |
| binary (stored with pointer to save storage) | |
| boolean_t | boolean |
| boolean | |
| number_integer_t | number_integer |
| number (integer) | |
| number_unsigned_t | number_unsigned |
| number (unsigned integer) | |
| number_float_t | number_float |
| number (floating-point) | |
Friends | |
| template<detail::value_t > | |
| struct | detail::external_constructor |
| template<typename > | |
| class | ::nlohmann::json_pointer |
| template<typename BasicJsonType , typename InputType > | |
| class | ::nlohmann::detail::parser |
| template<typename BasicJsonType > | |
| class | ::nlohmann::detail::iter_impl |
| template<typename BasicJsonType , typename CharType > | |
| class | ::nlohmann::detail::binary_writer |
| template<typename BasicJsonType , typename InputType , typename SAX > | |
| class | ::nlohmann::detail::binary_reader |
| template<typename BasicJsonType , typename InputAdapterType > | |
| class | ::nlohmann::detail::json_sax_dom_parser |
| template<typename BasicJsonType , typename InputAdapterType > | |
| class | ::nlohmann::detail::json_sax_dom_callback_parser |
| class | ::nlohmann::detail::exception |
| std::istream & | operator<< (basic_json &j, std::istream &i) |
| deserialize from stream | |
| std::istream & | operator>> (std::istream &i, basic_json &j) |
| deserialize from stream | |
element access | |
Access to the JSON value. | |
| template<typename KeyType > | |
| using | is_comparable_with_object_key = detail::is_comparable< object_comparator_t, const typename object_t::key_type &, KeyType > |
| template<typename ValueType > | |
| using | value_return_type = std::conditional< detail::is_c_string_uncvref< ValueType >::value, string_t, typename std::decay< ValueType >::type > |
| template<typename KeyType , detail::enable_if_t< detail::has_erase_with_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| size_type | erase_internal (KeyType &&key) |
| template<typename KeyType , detail::enable_if_t< !detail::has_erase_with_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| size_type | erase_internal (KeyType &&key) |
| reference | at (size_type idx) |
| access specified array element with bounds checking | |
| const_reference | at (size_type idx) const |
| access specified array element with bounds checking | |
| reference | at (const typename object_t::key_type &key) |
| access specified object element with bounds checking | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| reference | at (KeyType &&key) |
| access specified object element with bounds checking | |
| const_reference | at (const typename object_t::key_type &key) const |
| access specified object element with bounds checking | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| const_reference | at (KeyType &&key) const |
| access specified object element with bounds checking | |
| reference | operator[] (size_type idx) |
| access specified array element | |
| const_reference | operator[] (size_type idx) const |
| access specified array element | |
| reference | operator[] (typename object_t::key_type key) |
| access specified object element | |
| const_reference | operator[] (const typename object_t::key_type &key) const |
| access specified object element | |
| template<typename T > | |
| reference | operator[] (T *key) |
| template<typename T > | |
| const_reference | operator[] (T *key) const |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| reference | operator[] (KeyType &&key) |
| access specified object element | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| const_reference | operator[] (KeyType &&key) const |
| access specified object element | |
| template<class ValueType , detail::enable_if_t< !detail::is_transparent< object_comparator_t >::value &&detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ValueType | value (const typename object_t::key_type &key, const ValueType &default_value) const |
| access specified object element with default value | |
| template<class ValueType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< !detail::is_transparent< object_comparator_t >::value &&detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ReturnType | value (const typename object_t::key_type &key, ValueType &&default_value) const |
| access specified object element with default value | |
| template<class ValueType , class KeyType , detail::enable_if_t< detail::is_transparent< object_comparator_t >::value &&!detail::is_json_pointer< KeyType >::value &&is_comparable_with_object_key< KeyType >::value &&detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ValueType | value (KeyType &&key, const ValueType &default_value) const |
| access specified object element with default value | |
| template<class ValueType , class KeyType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< detail::is_transparent< object_comparator_t >::value &&!detail::is_json_pointer< KeyType >::value &&is_comparable_with_object_key< KeyType >::value &&detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ReturnType | value (KeyType &&key, ValueType &&default_value) const |
| access specified object element via JSON Pointer with default value | |
| template<class ValueType , detail::enable_if_t< detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ValueType | value (const json_pointer &ptr, const ValueType &default_value) const |
| access specified object element via JSON Pointer with default value | |
| template<class ValueType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ReturnType | value (const json_pointer &ptr, ValueType &&default_value) const |
| access specified object element via JSON Pointer with default value | |
| template<class ValueType , class BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&detail::is_getable< basic_json_t, ValueType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ValueType | value (const ::nlohmann::json_pointer< BasicJsonType > &ptr, const ValueType &default_value) const |
| template<class ValueType , class BasicJsonType , class ReturnType = typename value_return_type<ValueType>::type, detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&detail::is_getable< basic_json_t, ReturnType >::value &&!std::is_same< value_t, detail::uncvref_t< ValueType > >::value, int > = 0> | |
| ReturnType | value (const ::nlohmann::json_pointer< BasicJsonType > &ptr, ValueType &&default_value) const |
| reference | front () |
| access the first element | |
| const_reference | front () const |
| access the first element | |
| reference | back () |
| access the last element | |
| const_reference | back () const |
| access the last element | |
| template<class IteratorType , detail::enable_if_t< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int > = 0> | |
| IteratorType | erase (IteratorType pos) |
| remove element given an iterator | |
| template<class IteratorType , detail::enable_if_t< std::is_same< IteratorType, typename basic_json_t::iterator >::value||std::is_same< IteratorType, typename basic_json_t::const_iterator >::value, int > = 0> | |
| IteratorType | erase (IteratorType first, IteratorType last) |
| remove elements given an iterator range | |
| size_type | erase (const typename object_t::key_type &key) |
| remove element from a JSON object given a key | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| size_type | erase (KeyType &&key) |
| remove element from a JSON object given a key | |
| void | erase (const size_type idx) |
| remove element from a JSON array given an index | |
exceptions | |
Classes to implement user-defined exceptions. | |
| using | exception = detail::exception |
| using | parse_error = detail::parse_error |
| using | invalid_iterator = detail::invalid_iterator |
| using | type_error = detail::type_error |
| using | out_of_range = detail::out_of_range |
| using | other_error = detail::other_error |
container types | |
The canonic container types to use basic_json like any other STL container. | |
| using | value_type = basic_json |
| the type of elements in a basic_json container | |
| using | reference = value_type & |
| the type of an element reference | |
| using | const_reference = const value_type & |
| the type of an element const reference | |
| using | difference_type = std::ptrdiff_t |
| a type to represent differences between iterators | |
| using | size_type = std::size_t |
| a type to represent container sizes | |
| using | allocator_type = AllocatorType< basic_json > |
| the allocator type | |
| using | pointer = typename std::allocator_traits< allocator_type >::pointer |
| the type of an element pointer | |
| using | const_pointer = typename std::allocator_traits< allocator_type >::const_pointer |
| the type of an element const pointer | |
| using | iterator = iter_impl< basic_json > |
| an iterator for a basic_json container | |
| using | const_iterator = iter_impl< const basic_json > |
| a const iterator for a basic_json container | |
| using | reverse_iterator = json_reverse_iterator< typename basic_json::iterator > |
| a reverse iterator for a basic_json container | |
| using | const_reverse_iterator = json_reverse_iterator< typename basic_json::const_iterator > |
| a const reverse iterator for a basic_json container | |
JSON value data types | |
The data types to store a JSON value. These types are derived from the template arguments passed to class basic_json. | |
| using | default_object_comparator_t = std::less< StringType > |
| default object key comparator type The actual object key comparator type (object_comparator_t) may be different. | |
| using | object_t = ObjectType< StringType, basic_json, default_object_comparator_t, AllocatorType< std::pair< const StringType, basic_json > > > |
| a type for an object | |
| using | array_t = ArrayType< basic_json, AllocatorType< basic_json > > |
| a type for an array | |
| using | string_t = StringType |
| a type for a string | |
| using | boolean_t = BooleanType |
| a type for a boolean | |
| using | number_integer_t = NumberIntegerType |
| a type for a number (integer) | |
| using | number_unsigned_t = NumberUnsignedType |
| a type for a number (unsigned) | |
| using | number_float_t = NumberFloatType |
| a type for a number (floating-point) | |
| using | binary_t = nlohmann::byte_container_with_subtype< BinaryType > |
| a type for a packed binary type | |
| using | object_comparator_t = detail::actual_object_comparator_t< basic_json > |
| object key comparator type | |
modifiers | |
| void | swap (reference left, reference right) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&//NOLINT(cppcoreguidelines-noexcept-swap, performance-noexcept-swap) std::is_nothrow_move_assignable< json_value >::value) |
| exchanges the values | |
| void | clear () noexcept |
| clears the contents | |
| void | push_back (basic_json &&val) |
| add an object to an array | |
| reference | operator+= (basic_json &&val) |
| add an object to an array | |
| void | push_back (const basic_json &val) |
| add an object to an array | |
| reference | operator+= (const basic_json &val) |
| add an object to an array | |
| void | push_back (const typename object_t::value_type &val) |
| add an object to an object | |
| reference | operator+= (const typename object_t::value_type &val) |
| add an object to an object | |
| void | push_back (initializer_list_t init) |
| add an object to an object | |
| reference | operator+= (initializer_list_t init) |
| add an object to an object | |
| template<class... Args> | |
| reference | emplace_back (Args &&... args) |
| add an object to an array | |
| template<class... Args> | |
| std::pair< iterator, bool > | emplace (Args &&... args) |
| add an object to an object if key does not exist | |
| template<typename... Args> | |
| iterator | insert_iterator (const_iterator pos, Args &&... args) |
| iterator | insert (const_iterator pos, const basic_json &val) |
| inserts element into array | |
| iterator | insert (const_iterator pos, basic_json &&val) |
| inserts element into array | |
| iterator | insert (const_iterator pos, size_type cnt, const basic_json &val) |
| inserts copies of element into array | |
| iterator | insert (const_iterator pos, const_iterator first, const_iterator last) |
| inserts range of elements into array | |
| iterator | insert (const_iterator pos, initializer_list_t ilist) |
| inserts elements from initializer list into array | |
| void | insert (const_iterator first, const_iterator last) |
| inserts range of elements into object | |
| void | update (const_reference j, bool merge_objects=false) |
| updates a JSON object from another object, overwriting existing keys | |
| void | update (const_iterator first, const_iterator last, bool merge_objects=false) |
| updates a JSON object from another object, overwriting existing keys | |
| void | swap (reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&//NOLINT(cppcoreguidelines-noexcept-swap, performance-noexcept-swap) std::is_nothrow_move_assignable< json_value >::value) |
| exchanges the values | |
| void | swap (array_t &other) |
| exchanges the values | |
| void | swap (object_t &other) |
| exchanges the values | |
| void | swap (string_t &other) |
| exchanges the values | |
| void | swap (binary_t &other) |
| exchanges the values | |
| void | swap (typename binary_t::container_type &other) |
| exchanges the values | |
lexicographical comparison operators | |
| JSON_PRIVATE_UNLESS_TESTED | : static bool compares_unordered(const_reference lhs |
| JSON_PRIVATE_UNLESS_TESTED const_reference | rhs |
| JSON_PRIVATE_UNLESS_TESTED const_reference bool | inverse |
value access | |
Direct access to the stored value of a JSON value. | |
| template<typename ValueType , detail::enable_if_t< detail::is_default_constructible< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0> | |
| ValueType | get_impl (detail::priority_tag< 0 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), std::declval< ValueType & >()))) |
| get a value (explicit) | |
| template<typename ValueType , detail::enable_if_t< detail::has_non_default_from_json< basic_json_t, ValueType >::value, int > = 0> | |
| ValueType | get_impl (detail::priority_tag< 1 >) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >()))) |
| get a value (explicit); special case | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
| BasicJsonType | get_impl (detail::priority_tag< 2 >) const |
| get special-case overload | |
| template<typename BasicJsonType , detail::enable_if_t< std::is_same< BasicJsonType, basic_json_t >::value, int > = 0> | |
| basic_json | get_impl (detail::priority_tag< 3 >) const |
| get special-case overload | |
| template<typename PointerType , detail::enable_if_t< std::is_pointer< PointerType >::value, int > = 0> | |
| constexpr auto | get_impl (detail::priority_tag< 4 >) const noexcept -> decltype(std::declval< const basic_json_t & >().template get_ptr< PointerType >()) |
| get a pointer value (explicit) | |
| template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0> | |
| auto | get_ptr () noexcept -> decltype(std::declval< basic_json_t & >().get_impl_ptr(std::declval< PointerType >())) |
| get a pointer value (implicit) | |
| template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value &&std::is_const< typename std::remove_pointer< PointerType >::type >::value, int >::type = 0> | |
| constexpr auto | get_ptr () const noexcept -> decltype(std::declval< const basic_json_t & >().get_impl_ptr(std::declval< PointerType >())) |
| get a pointer value (implicit) | |
| template<typename ValueTypeCV , typename ValueType = detail::uncvref_t<ValueTypeCV>> | |
| auto | get () const noexcept(noexcept(std::declval< const basic_json_t & >().template get_impl< ValueType >(detail::priority_tag< 4 > {}))) -> decltype(std::declval< const basic_json_t & >().template get_impl< ValueType >(detail::priority_tag< 4 > {})) |
| get a (pointer) value (explicit) | |
| template<typename PointerType , typename std::enable_if< std::is_pointer< PointerType >::value, int >::type = 0> | |
| auto | get () noexcept -> decltype(std::declval< basic_json_t & >().template get_ptr< PointerType >()) |
| get a pointer value (explicit) | |
| template<typename ValueType , detail::enable_if_t< !detail::is_basic_json< ValueType >::value &&detail::has_from_json< basic_json_t, ValueType >::value, int > = 0> | |
| ValueType & | get_to (ValueType &v) const noexcept(noexcept(JSONSerializer< ValueType >::from_json(std::declval< const basic_json_t & >(), v))) |
| get a value (explicit) | |
| template<typename ValueType , detail::enable_if_t< detail::is_basic_json< ValueType >::value, int > = 0> | |
| ValueType & | get_to (ValueType &v) const |
| template<typename T , std::size_t N, typename Array = T (&)[N], detail::enable_if_t< detail::has_from_json< basic_json_t, Array >::value, int > = 0> | |
| Array | get_to (T(&v)[N]) const noexcept(noexcept(JSONSerializer< Array >::from_json(std::declval< const basic_json_t & >(), v))) |
| template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value, int >::type = 0> | |
| ReferenceType | get_ref () |
| get a reference value (implicit) | |
| template<typename ReferenceType , typename std::enable_if< std::is_reference< ReferenceType >::value &&std::is_const< typename std::remove_reference< ReferenceType >::type >::value, int >::type = 0> | |
| ReferenceType | get_ref () const |
| get a reference value (implicit) | |
| template<typename ValueType , typename std::enable_if< detail::conjunction< detail::negation< std::is_pointer< ValueType > >, detail::negation< std::is_same< ValueType, std::nullptr_t > >, detail::negation< std::is_same< ValueType, detail::json_ref< basic_json > > >, detail::negation< std::is_same< ValueType, typename string_t::value_type > >, detail::negation< detail::is_basic_json< ValueType > >, detail::negation< std::is_same< ValueType, std::initializer_list< typename string_t::value_type > > >, detail::is_detected_lazy< detail::get_template_function, const basic_json_t &, ValueType > >::value, int >::type = 0> | |
| JSON_EXPLICIT | operator ValueType () const |
| get a value (implicit) | |
| binary_t & | get_binary () |
| get a binary value | |
| const binary_t & | get_binary () const |
| get a binary value | |
constructors and destructors | |
Constructors of class basic_json, copy/move constructor, copy assignment, static functions creating objects, and the destructor. | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (const typename binary_t::container_type &init) |
| explicitly create a binary array (without subtype) | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (const typename binary_t::container_type &init, typename binary_t::subtype_type subtype) |
| explicitly create a binary array (with subtype) | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (typename binary_t::container_type &&init) |
| explicitly create a binary array | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | binary (typename binary_t::container_type &&init, typename binary_t::subtype_type subtype) |
| explicitly create a binary array (with subtype) | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | array (initializer_list_t init={}) |
| explicitly create an array from an initializer list | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | object (initializer_list_t init={}) |
| explicitly create an object from an initializer list | |
| basic_json (const value_t v) | |
| create an empty value with a given type | |
| basic_json (std::nullptr_t=nullptr) noexcept | |
| create a null object | |
| template<typename CompatibleType , typename U = detail::uncvref_t<CompatibleType>, detail::enable_if_t< !detail::is_basic_json< U >::value &&detail::is_compatible_type< basic_json_t, U >::value, int > = 0> | |
| basic_json (CompatibleType &&val) noexcept(noexcept(//NOLINT(bugprone-forwarding-reference-overload, bugprone-exception-escape) JSONSerializer< U >::to_json(std::declval< basic_json_t & >(), std::forward< CompatibleType >(val)))) | |
| create a JSON value from compatible types | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value &&!std::is_same< basic_json, BasicJsonType >::value, int > = 0> | |
| basic_json (const BasicJsonType &val) | |
| create a JSON value from an existing one | |
| basic_json (initializer_list_t init, bool type_deduction=true, value_t manual_type=value_t::array) | |
| create a container (array or object) from an initializer list | |
| basic_json (size_type cnt, const basic_json &val) | |
| construct an array with count copies of given value | |
| template<class InputIT , typename std::enable_if< std::is_same< InputIT, typename basic_json_t::iterator >::value||std::is_same< InputIT, typename basic_json_t::const_iterator >::value, int >::type = 0> | |
| basic_json (InputIT first, InputIT last) | |
| construct a JSON container given an iterator range | |
| template<typename JsonRef , detail::enable_if_t< detail::conjunction< detail::is_json_ref< JsonRef >, std::is_same< typename JsonRef::value_type, basic_json > >::value, int > = 0> | |
| basic_json (const JsonRef &ref) | |
| basic_json (const basic_json &other) | |
| copy constructor | |
| basic_json (basic_json &&other) noexcept | |
| move constructor | |
| basic_json & | operator= (basic_json other) noexcept(std::is_nothrow_move_constructible< value_t >::value &&std::is_nothrow_move_assignable< value_t >::value &&std::is_nothrow_move_constructible< json_value >::value &&std::is_nothrow_move_assignable< json_value >::value &&std::is_nothrow_move_assignable< json_base_class_t >::value) |
| copy assignment | |
| ~basic_json () noexcept | |
| destructor | |
iterators | |
| static iteration_proxy< iterator > | iterator_wrapper (reference ref) noexcept |
| wrapper to access iterator member functions in range-based for | |
| static iteration_proxy< const_iterator > | iterator_wrapper (const_reference ref) noexcept |
| wrapper to access iterator member functions in range-based for | |
| iterator | begin () noexcept |
| returns an iterator to the first element | |
| const_iterator | begin () const noexcept |
| returns an iterator to the first element | |
| const_iterator | cbegin () const noexcept |
| returns a const iterator to the first element | |
| iterator | end () noexcept |
| returns an iterator to one past the last element | |
| const_iterator | end () const noexcept |
| returns an iterator to one past the last element | |
| const_iterator | cend () const noexcept |
| returns an iterator to one past the last element | |
| reverse_iterator | rbegin () noexcept |
| returns an iterator to the reverse-beginning | |
| const_reverse_iterator | rbegin () const noexcept |
| returns an iterator to the reverse-beginning | |
| reverse_iterator | rend () noexcept |
| returns an iterator to the reverse-end | |
| const_reverse_iterator | rend () const noexcept |
| returns an iterator to the reverse-end | |
| const_reverse_iterator | crbegin () const noexcept |
| returns a const reverse iterator to the last element | |
| const_reverse_iterator | crend () const noexcept |
| returns a const reverse iterator to one before the first | |
| iteration_proxy< iterator > | items () noexcept |
| helper to access iterator member functions in range-based for | |
| iteration_proxy< const_iterator > | items () const noexcept |
| helper to access iterator member functions in range-based for | |
binary serialization/deserialization support | |
| static std::vector< std::uint8_t > | to_cbor (const basic_json &j) |
| create a CBOR serialization of a given JSON value | |
| static void | to_cbor (const basic_json &j, detail::output_adapter< std::uint8_t > o) |
| create a CBOR serialization of a given JSON value | |
| static void | to_cbor (const basic_json &j, detail::output_adapter< char > o) |
| create a CBOR serialization of a given JSON value | |
| static std::vector< std::uint8_t > | to_msgpack (const basic_json &j) |
| create a MessagePack serialization of a given JSON value | |
| static void | to_msgpack (const basic_json &j, detail::output_adapter< std::uint8_t > o) |
| create a MessagePack serialization of a given JSON value | |
| static void | to_msgpack (const basic_json &j, detail::output_adapter< char > o) |
| create a MessagePack serialization of a given JSON value | |
| static std::vector< std::uint8_t > | to_ubjson (const basic_json &j, const bool use_size=false, const bool use_type=false) |
| create a UBJSON serialization of a given JSON value | |
| static void | to_ubjson (const basic_json &j, detail::output_adapter< std::uint8_t > o, const bool use_size=false, const bool use_type=false) |
| create a UBJSON serialization of a given JSON value | |
| static void | to_ubjson (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false) |
| create a UBJSON serialization of a given JSON value | |
| static std::vector< std::uint8_t > | to_bjdata (const basic_json &j, const bool use_size=false, const bool use_type=false, const bjdata_version_t version=bjdata_version_t::draft2) |
| create a BJData serialization of a given JSON value | |
| static void | to_bjdata (const basic_json &j, detail::output_adapter< std::uint8_t > o, const bool use_size=false, const bool use_type=false, const bjdata_version_t version=bjdata_version_t::draft2) |
| create a BJData serialization of a given JSON value | |
| static void | to_bjdata (const basic_json &j, detail::output_adapter< char > o, const bool use_size=false, const bool use_type=false, const bjdata_version_t version=bjdata_version_t::draft2) |
| create a BJData serialization of a given JSON value | |
| static std::vector< std::uint8_t > | to_bson (const basic_json &j) |
| create a BSON serialization of a given JSON value | |
| static void | to_bson (const basic_json &j, detail::output_adapter< std::uint8_t > o) |
| create a BSON serialization of a given JSON value | |
| static void | to_bson (const basic_json &j, detail::output_adapter< char > o) |
| create a BSON serialization of a given JSON value | |
| template<typename InputType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (InputType &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
| create a JSON value from an input in CBOR format | |
| template<typename IteratorType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
| create a JSON value from an input in CBOR format | |
| template<typename T > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_cbor (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true, const cbor_tag_handler_t tag_handler=cbor_tag_handler_t::error) |
| template<typename InputType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in MessagePack format | |
| template<typename IteratorType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in MessagePack format | |
| template<typename T > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_msgpack (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) |
| template<typename InputType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in UBJSON format | |
| template<typename IteratorType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in UBJSON format | |
| template<typename T > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_ubjson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) |
| template<typename InputType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bjdata (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in BJData format | |
| template<typename IteratorType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bjdata (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in BJData format | |
| template<typename InputType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (InputType &&i, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in BSON format | |
| template<typename IteratorType > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (IteratorType first, IteratorType last, const bool strict=true, const bool allow_exceptions=true) |
| create a JSON value from an input in BSON format | |
| template<typename T > | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (const T *ptr, std::size_t len, const bool strict=true, const bool allow_exceptions=true) |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | from_bson (detail::span_input_adapter &&i, const bool strict=true, const bool allow_exceptions=true) |
JSON Patch functions | |
| static JSON_HEDLEY_WARN_UNUSED_RESULT basic_json | diff (const basic_json &source, const basic_json &target, const string_t &path="") |
| creates a diff as a JSON patch | |
| void | patch_inplace (const basic_json &json_patch) |
| applies a JSON patch in-place without copying the object | |
| basic_json | patch (const basic_json &json_patch) const |
| applies a JSON patch to a copy of the current object | |
object inspection | |
Functions to inspect the type of a JSON value. | |
| string_t | dump (const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const |
| serialization | |
| constexpr value_t | type () const noexcept |
| return the type of the JSON value (explicit) | |
| constexpr bool | is_primitive () const noexcept |
| return whether type is primitive | |
| constexpr bool | is_structured () const noexcept |
| return whether type is structured | |
| constexpr bool | is_null () const noexcept |
| return whether value is null | |
| constexpr bool | is_boolean () const noexcept |
| return whether value is a boolean | |
| constexpr bool | is_number () const noexcept |
| return whether value is a number | |
| constexpr bool | is_number_integer () const noexcept |
| return whether value is an integer number | |
| constexpr bool | is_number_unsigned () const noexcept |
| return whether value is an unsigned integer number | |
| constexpr bool | is_number_float () const noexcept |
| return whether value is a floating-point number | |
| constexpr bool | is_object () const noexcept |
| return whether value is an object | |
| constexpr bool | is_array () const noexcept |
| return whether value is an array | |
| constexpr bool | is_string () const noexcept |
| return whether value is a string | |
| constexpr bool | is_binary () const noexcept |
| return whether value is a binary array | |
| constexpr bool | is_discarded () const noexcept |
| return whether value is discarded | |
| constexpr | operator value_t () const noexcept |
| return the type of the JSON value (implicit) | |
lookup | |
| iterator | find (const typename object_t::key_type &key) |
| find an element in a JSON object | |
| const_iterator | find (const typename object_t::key_type &key) const |
| find an element in a JSON object | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| iterator | find (KeyType &&key) |
| find an element in a JSON object | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| const_iterator | find (KeyType &&key) const |
| find an element in a JSON object | |
| size_type | count (const typename object_t::key_type &key) const |
| returns the number of occurrences of a key in a JSON object | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| size_type | count (KeyType &&key) const |
| returns the number of occurrences of a key in a JSON object | |
| bool | contains (const typename object_t::key_type &key) const |
| check the existence of an element in a JSON object | |
| template<class KeyType , detail::enable_if_t< detail::is_usable_as_basic_json_key_type< basic_json_t, KeyType >::value, int > = 0> | |
| bool | contains (KeyType &&key) const |
| check the existence of an element in a JSON object | |
| bool | contains (const json_pointer &ptr) const |
| check the existence of an element in a JSON object given a JSON pointer | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
| bool | contains (const typename ::nlohmann::json_pointer< BasicJsonType > &ptr) const |
capacity | |
| bool | empty () const noexcept |
| checks whether the container is empty. | |
| size_type | size () const noexcept |
| returns the number of elements | |
| size_type | max_size () const noexcept |
| returns the maximum possible number of elements | |
JSON Pointer functions | |
| reference | operator[] (const json_pointer &ptr) |
| access specified element via JSON Pointer | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
| reference | operator[] (const ::nlohmann::json_pointer< BasicJsonType > &ptr) |
| const_reference | operator[] (const json_pointer &ptr) const |
| access specified element via JSON Pointer | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
| const_reference | operator[] (const ::nlohmann::json_pointer< BasicJsonType > &ptr) const |
| reference | at (const json_pointer &ptr) |
| access specified element via JSON Pointer | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
| reference | at (const ::nlohmann::json_pointer< BasicJsonType > &ptr) |
| const_reference | at (const json_pointer &ptr) const |
| access specified element via JSON Pointer | |
| template<typename BasicJsonType , detail::enable_if_t< detail::is_basic_json< BasicJsonType >::value, int > = 0> | |
| const_reference | at (const ::nlohmann::json_pointer< BasicJsonType > &ptr) const |
| basic_json | flatten () const |
| return flattened JSON value | |
| basic_json | unflatten () const |
| unflatten a previously flattened JSON value | |
JSON Merge Patch functions | |
| void | merge_patch (const basic_json &apply_patch) |
| applies a JSON Merge Patch | |
namespace for Niels Lohmann
a class to store JSON values
a class to store JSON values
| using allocator_type = AllocatorType<basic_json> |
| using array_t = ArrayType<basic_json, AllocatorType<basic_json> > |
a type for an array
|
private |
|
private |
| using binary_t = nlohmann::byte_container_with_subtype<BinaryType> |
a type for a packed binary type
|
private |
| using bjdata_version_t = detail::bjdata_version_t |
| using boolean_t = BooleanType |
a type for a boolean
| using cbor_tag_handler_t = detail::cbor_tag_handler_t |
| using const_iterator = iter_impl<const basic_json> |
a const iterator for a basic_json container
| using const_pointer = typename std::allocator_traits<allocator_type>::const_pointer |
| using const_reference = const value_type& |
| using const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator> |
a const reverse iterator for a basic_json container
| using default_object_comparator_t = std::less<StringType> |
default object key comparator type The actual object key comparator type (object_comparator_t) may be different.
| using difference_type = std::ptrdiff_t |
| using error_handler_t = detail::error_handler_t |
| using exception = detail::exception |
| using initializer_list_t = std::initializer_list<detail::json_ref<basic_json> > |
helper type for initializer lists of basic_json values
| using input_format_t = detail::input_format_t |
|
private |
| using invalid_iterator = detail::invalid_iterator |
|
private |
|
private |
|
private |
| using iterator = iter_impl<basic_json> |
an iterator for a basic_json container
|
private |
| using json_pointer = ::nlohmann::json_pointer<StringType> |
|
private |
| using json_sax_t = json_sax<basic_json> |
| using json_serializer = JSONSerializer<T, SFINAE> |
| using number_float_t = NumberFloatType |
a type for a number (floating-point)
| using number_integer_t = NumberIntegerType |
a type for a number (integer)
| using number_unsigned_t = NumberUnsignedType |
a type for a number (unsigned)
| using object_comparator_t = detail::actual_object_comparator_t<basic_json> |
object key comparator type
| using object_t = ObjectType<StringType, basic_json, default_object_comparator_t, AllocatorType<std::pair<const StringType, basic_json> >> |
a type for an object
| using other_error = detail::other_error |
| using out_of_range = detail::out_of_range |
|
private |
| using parse_error = detail::parse_error |
| using parse_event_t = detail::parse_event_t |
parser event types
| using parser_callback_t = detail::parser_callback_t<basic_json> |
per-element parser callback type
| using pointer = typename std::allocator_traits<allocator_type>::pointer |
|
private |
| using reference = value_type& |
| using reverse_iterator = json_reverse_iterator<typename basic_json::iterator> |
a reverse iterator for a basic_json container
| using size_type = std::size_t |
| using string_t = StringType |
a type for a string
| using type_error = detail::type_error |
|
private |
| using value_t = detail::value_t |
| using value_type = basic_json |
the type of elements in a basic_json container
|
inline |
create an empty value with a given type
|
inlinenoexcept |
create a null object
|
inlinenoexcept |
create a JSON value from compatible types
|
inline |
create a JSON value from an existing one
Definition at line 20866 of file json.hpp.
References JSON_ASSERT.
|
inline |
create a container (array or object) from an initializer list
Definition at line 20924 of file json.hpp.
References JSON_HEDLEY_UNLIKELY, JSON_THROW, and json_ref< BasicJsonType >::moved_or_copied().

|
inline |
construct an array with count copies of given value
|
inline |
construct a JSON container given an iterator range
Definition at line 21054 of file json.hpp.
References detail::concat(), JSON_ASSERT, JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
|
inline |
copy constructor
Definition at line 21167 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::assert_invariant(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_data.

|
inlinenoexcept |
move constructor
|
inlinenoexcept |
destructor
|
inlinenoexcept |
|
inlinestatic |
explicitly create an array from an initializer list
|
inlineprivatenoexcept |
checks the class invariants
This function asserts the class invariants. It needs to be called at the end of every constructor to make sure that created objects respect the invariant. Furthermore, it has to be called each time the type of a JSON value is changed, because the invariant expresses a relationship between m_type and m_value.
Furthermore, the parent relation is checked for arrays and objects: If check_parents true and the value is an array or object, then the container's elements must have the current value as parent.
| [in] | check_parents | whether the parent relation should be checked. The value is true by default and should only be set to false during destruction of objects when the invariant does not need to hold. |
Definition at line 20699 of file json.hpp.
References JSON_ASSERT, JSON_CATCH, and JSON_TRY.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::basic_json(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator=().

|
inline |
|
inline |
|
inline |
access specified element via JSON Pointer
Definition at line 24708 of file json.hpp.
References json_pointer< RefStringType >::get_checked().

|
inline |
access specified element via JSON Pointer
Definition at line 24722 of file json.hpp.
References json_pointer< RefStringType >::get_checked().

|
inline |
access specified object element with bounds checking
Definition at line 22025 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
access specified object element with bounds checking
Definition at line 22063 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
access specified object element with bounds checking
Definition at line 22045 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
access specified object element with bounds checking
Definition at line 22083 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
access specified array element with bounds checking
Definition at line 21979 of file json.hpp.
References detail::concat(), JSON_CATCH, JSON_HEDLEY_LIKELY, JSON_THROW, and JSON_TRY.


|
inline |
access specified array element with bounds checking
Definition at line 22002 of file json.hpp.
References detail::concat(), JSON_CATCH, JSON_HEDLEY_LIKELY, JSON_THROW, JSON_TRY, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inline |
access the last element
|
inline |
access the last element
|
inlinenoexcept |
returns an iterator to the first element
|
inlinenoexcept |
returns an iterator to the first element
Definition at line 22809 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::merge_patch(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::update().

|
inlinestatic |
explicitly create a binary array (without subtype)
|
inlinestatic |
explicitly create a binary array (with subtype)
|
inlinestatic |
explicitly create a binary array
|
inlinestatic |
explicitly create a binary array (with subtype)
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
clears the contents
|
inline |
check the existence of an element in a JSON object given a JSON pointer
Definition at line 22786 of file json.hpp.
References json_pointer< RefStringType >::contains().

|
inline |
|
inline |
check the existence of an element in a JSON object
|
inline |
check the existence of an element in a JSON object
|
inline |
returns the number of occurrences of a key in a JSON object
|
inline |
returns the number of occurrences of a key in a JSON object
|
inlinenoexcept |
returns a const reverse iterator to the last element
|
inlinestaticprivate |
helper for exception-safe object creation
Definition at line 20395 of file json.hpp.
References JSON_ASSERT.
|
inlinenoexcept |
returns a const reverse iterator to one before the first
|
defaultnoexcept |
|
deletenoexcept |
|
inline |
|
defaultnoexcept |
|
inline |
|
inlineprivate |
Definition at line 20571 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_array(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_object(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_data.

|
inlinestatic |
creates a diff as a JSON patch
Definition at line 25042 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::begin(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::cbegin(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::cend(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::end(), detail::escape(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::find(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::push_back(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::size(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::type().

|
inline |
serialization
Definition at line 21313 of file json.hpp.
Referenced by to_string().

|
inline |
add an object to an object if key does not exist
Definition at line 23275 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
add an object to an array
Definition at line 23250 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inlinenoexcept |
checks whether the container is empty.
|
inlinenoexcept |
returns an iterator to one past the last element
|
inlinenoexcept |
returns an iterator to one past the last element
Definition at line 22834 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::merge_patch(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::update().

|
inline |
remove element from a JSON array given an index
Definition at line 22663 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
remove element from a JSON object given a key
|
inline |
remove elements given an iterator range
Definition at line 22540 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
remove element given an iterator
Definition at line 22470 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.


|
inline |
remove element from a JSON object given a key
|
inlineprivate |
Definition at line 22611 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inlineprivate |
Definition at line 22624 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
find an element in a JSON object
Definition at line 22692 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().

|
inline |
find an element in a JSON object
|
inline |
find an element in a JSON object
|
inline |
find an element in a JSON object
|
inline |
return flattened JSON value
Definition at line 24736 of file json.hpp.
References json_pointer< RefStringType >::flatten().

|
inlinestatic |
create a JSON value from an input in BJData format
Definition at line 24590 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in BJData format
Definition at line 24605 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
|
inlinestatic |
Definition at line 24658 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in BSON format
Definition at line 24620 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in BSON format
Definition at line 24635 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
|
inlinestatic |
Definition at line 24465 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in CBOR format
Definition at line 24424 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in CBOR format
Definition at line 24440 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
|
inlinestatic |
Definition at line 24520 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in MessagePack format
Definition at line 24482 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in MessagePack format
Definition at line 24497 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
|
inlinestatic |
Definition at line 24574 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::get(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in UBJSON format
Definition at line 24536 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inlinestatic |
create a JSON value from an input in UBJSON format
Definition at line 24551 of file json.hpp.
References detail::input_adapter(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::sax_parse().

|
inline |
access the first element
|
inline |
access the first element
|
inlinenoexcept |
get a (pointer) value (explicit)
Performs explicit type conversion between the JSON value and a compatible value if required.
from_json() method.| ValueTypeCV | the provided value type |
| ValueType | the returned value type |
| ValueType | if necessary |
| what | json_serializer<ValueType> from_json() method throws if conversion is required |
Definition at line 21785 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_cbor(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_msgpack(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_ubjson().

|
inlinenoexcept |
get a pointer value (explicit)
Explicit pointer access to the internally stored JSON value. No copies are made.
| PointerType | pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. |
nullptr otherwise@complexity Constant.
@liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}
|
inlinestatic |
returns the allocator associated with the container
|
inline |
get a binary value
Definition at line 21945 of file json.hpp.
References detail::concat(), and JSON_THROW.

|
inline |
get a binary value
Definition at line 21957 of file json.hpp.
References detail::concat(), and JSON_THROW.

|
inlineprivate |
get a boolean (explicit)
Definition at line 21446 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, and JSON_THROW.

|
inlineprivatenoexcept |
get a value (explicit)
Explicit type conversion between the JSON value and a compatible value which is CopyConstructible and DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.
The function is equivalent to executing
This overloads is chosen if:
from_json() method of the form void from_json(const basic_json&, ValueType&), andfrom_json() method of the form ValueType from_json(const basic_json&)| ValueType | the returned value type |
| what | json_serializer<ValueType> from_json() method throws |
@liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,get__ValueType_const}
|
inlineprivatenoexcept |
get a value (explicit); special case
Explicit type conversion between the JSON value and a compatible value which is not CopyConstructible and not DefaultConstructible. The value is converted by calling the json_serializer<ValueType> from_json() method.
The function is equivalent to executing
This overloads is chosen if:
from_json() method of the form ValueType from_json(const basic_json&)from_json(), this one is chosen.| ValueType | the returned value type |
| what | json_serializer<ValueType> from_json() method throws |
|
inlineprivate |
get special-case overload
This overloads converts the current basic_json in a different basic_json type
| BasicJsonType | == basic_json |
@complexity Depending on the implementation of the called from_json() method.
|
inlineprivate |
get special-case overload
This overloads avoids a lot of template boilerplate, it can be seen as the identity method
| BasicJsonType | == basic_json |
@complexity Constant.
|
inlineconstexprprivatenoexcept |
get a pointer value (explicit)
get a pointer value (explicit)
Explicit pointer access to the internally stored JSON value. No copies are made.
| PointerType | pointer type; must be a pointer to array_t, object_t, string_t, boolean_t, number_integer_t, number_unsigned_t, or number_float_t. |
nullptr otherwise@complexity Constant.
@liveexample{The example below shows how pointers to internal values of a JSON value can be requested. Note that no type conversions are made and a nullptr is returned if the value and the requested pointer type does not match.,get__PointerType}
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineconstexprprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineconstexprnoexcept |
get a pointer value (implicit)
|
inlinenoexcept |
get a pointer value (implicit)
|
inline |
get a reference value (implicit)
|
inline |
get a reference value (implicit)
|
inlinestaticprivate |
helper function to implement get_ref()
This function helps to implement get_ref() without code duplication for const and non-const overloads
| ThisType | will be deduced as basic_json or const basic_json |
| type_error.303 | if ReferenceType does not match underlying value type of the current JSON |
Definition at line 21564 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, and JSON_THROW.

|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
get a value (explicit)
|
inline |
inserts range of elements into object
Definition at line 23424 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
inserts element into array
|
inline |
inserts element into array
Definition at line 23326 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().


|
inline |
inserts range of elements into array
Definition at line 23373 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
inserts elements from initializer list into array
Definition at line 23404 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
inserts copies of element into array
Definition at line 23353 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
Helper for insertion of an iterator
Definition at line 23307 of file json.hpp.
References JSON_ASSERT.
|
inlineconstexprnoexcept |
return whether value is an array
Definition at line 21405 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::destroy(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().

|
inlineconstexprnoexcept |
return whether value is a binary array
|
inlineconstexprnoexcept |
return whether value is a boolean
|
inlineconstexprnoexcept |
return whether value is discarded
|
inlineconstexprnoexcept |
return whether value is null
|
inlineconstexprnoexcept |
return whether value is a number
|
inlineconstexprnoexcept |
return whether value is a floating-point number
|
inlineconstexprnoexcept |
return whether value is an integer number
|
inlineconstexprnoexcept |
return whether value is an unsigned integer number
|
inlineconstexprnoexcept |
return whether value is an object
Definition at line 21398 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::destroy(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::merge_patch(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().

|
inlineconstexprnoexcept |
return whether type is primitive
|
inlineconstexprnoexcept |
return whether value is a string
|
inlineconstexprnoexcept |
return whether type is structured
|
inlinenoexcept |
helper to access iterator member functions in range-based for
|
inlinenoexcept |
helper to access iterator member functions in range-based for
|
inlinestaticnoexcept |
wrapper to access iterator member functions in range-based for
json::iterator_wrapper(j) with j.items().
|
inlinestaticnoexcept |
wrapper to access iterator member functions in range-based for
json::iterator_wrapper(j) with j.items().
|
privatedefault |
default constructor (for null values)
|
inlineprivate |
|
inlineprivate |
|
inlineprivatenoexcept |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivatenoexcept |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
|
inlineprivate |
constructor for empty values of a given type
Definition at line 20470 of file json.hpp.
References JSON_HEDLEY_UNLIKELY, and JSON_THROW.
|
inlinenoexcept |
returns the maximum possible number of elements
|
inline |
applies a JSON Merge Patch
Definition at line 25184 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::begin(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::end(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_object().

|
inlinestatic |
returns version information on the library
Definition at line 20265 of file json.hpp.
References detail::concat(), NLOHMANN_JSON_VERSION_MAJOR, NLOHMANN_JSON_VERSION_MINOR, and NLOHMANN_JSON_VERSION_PATCH.

|
inlinestatic |
explicitly create an object from an initializer list
Definition at line 21035 of file json.hpp.
Referenced by LspServer::handleMessage().

|
inlineconstexprnoexcept |
return the type of the JSON value (implicit)
|
inline |
get a value (implicit)
Implicit type conversion between the JSON value and a compatible value. The call is realized by calling get() const.
| ValueType | non-pointer type compatible to the JSON value, for instance int for JSON integer numbers, bool for JSON booleans, or std::vector types for JSON arrays. The character type of string_t as well as an initializer list of this type is excluded to avoid ambiguities as these types implicitly convert to std::string. |
| type_error.302 | in case passed type ValueType is incompatible to the JSON value type (e.g., the JSON value is of type boolean, but a string is requested); see example below |
@complexity Linear in the size of the JSON value.
@liveexample{The example below shows several conversions from JSON values to other types. There a few things to note: (1) Floating-point numbers can be converted to integers\, (2) A JSON array can be converted to a standard std::vector<short>\, (3) A JSON object can be converted to C++ associative containers such as std::unordered_map<std::string\, json>.,operator__ValueType}
|
inline |
add an object to an array
|
inline |
add an object to an array
|
inline |
add an object to an object
|
inline |
add an object to an object
|
inlinenoexcept |
copy assignment
Definition at line 21266 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::assert_invariant(), and std::swap().

|
deletenoexcept |
|
deletenoexcept |
|
inline |
|
inline |
|
inline |
access specified element via JSON Pointer
Definition at line 24680 of file json.hpp.
References json_pointer< RefStringType >::get_unchecked().

|
inline |
access specified element via JSON Pointer
Definition at line 24694 of file json.hpp.
References json_pointer< RefStringType >::get_unchecked().

|
inline |
access specified object element
Definition at line 22182 of file json.hpp.
References detail::concat(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inline |
access specified object element
Definition at line 22213 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inline |
access specified object element
Definition at line 22237 of file json.hpp.
References detail::concat(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_THROW, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inline |
access specified array element
Definition at line 22101 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_THROW, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inline |
access specified array element
Definition at line 22147 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inline |
|
inline |
|
inline |
access specified object element
Definition at line 22160 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value.

|
inlineprivate |
|
inline |
|
inline |
applies a JSON patch in-place without copying the object
Definition at line 24761 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), json_pointer< RefStringType >::back(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::begin(), detail::concat(), json_pointer< RefStringType >::empty(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::end(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::erase(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::find(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::insert(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_array(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_object(), JSON_ASSERT, JSON_HEDLEY_LIKELY, JSON_HEDLEY_UNLIKELY, JSON_INTERNAL_CATCH, JSON_THROW, JSON_TRY, basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_data, json_pointer< RefStringType >::pop_back(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::push_back(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::size().


|
inline |
add an object to an array
Definition at line 23129 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().


|
inline |
add an object to an array
Definition at line 23162 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
add an object to an object
Definition at line 23194 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
add an object to an object
|
inlinenoexcept |
returns an iterator to the reverse-beginning
|
inlinenoexcept |
returns an iterator to the reverse-beginning
|
inlinenoexcept |
returns an iterator to the reverse-end
|
inlinenoexcept |
returns an iterator to the reverse-end
|
inlinestatic |
generate SAX events
Definition at line 24158 of file json.hpp.
References binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse().

|
inlinestatic |
Definition at line 24124 of file json.hpp.
References detail::input_adapter(), and binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse().
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bjdata(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bjdata(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_bson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_cbor(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_cbor(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_cbor(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_msgpack(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_msgpack(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_msgpack(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_ubjson(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_ubjson(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::from_ubjson().


|
inlinestatic |
generate SAX events
Definition at line 24139 of file json.hpp.
References detail::input_adapter(), and binary_reader< BasicJsonType, InputAdapterType, SAX >::sax_parse().

|
inlineprivate |
Definition at line 20770 of file json.hpp.
References JSON_ASSERT, JSON_HEDLEY_UNLIKELY, and detail::unknown_size().

|
inlineprivate |
|
inlineprivate |
|
inlinenoexcept |
returns the number of elements
Definition at line 22986 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::diff(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().

|
inline |
exchanges the values
Definition at line 23533 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and std::swap().

|
inline |
exchanges the values
Definition at line 23581 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and std::swap().

|
inline |
exchanges the values
Definition at line 23549 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and std::swap().

|
inlinenoexcept |
exchanges the values
Definition at line 23504 of file json.hpp.
References std::swap().

|
inline |
exchanges the values
Definition at line 23565 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and std::swap().

|
inline |
exchanges the values
Definition at line 23597 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, JSON_THROW, and std::swap().

|
inlinestatic |
create a BJData serialization of a given JSON value
|
inlinestatic |
create a BJData serialization of a given JSON value
|
inlinestatic |
create a BJData serialization of a given JSON value
|
inlinestatic |
create a BSON serialization of a given JSON value
|
inlinestatic |
create a BSON serialization of a given JSON value
|
inlinestatic |
create a BSON serialization of a given JSON value
|
inlinestatic |
create a CBOR serialization of a given JSON value
|
inlinestatic |
create a CBOR serialization of a given JSON value
|
inlinestatic |
create a CBOR serialization of a given JSON value
|
inlinestatic |
create a MessagePack serialization of a given JSON value
|
inlinestatic |
create a MessagePack serialization of a given JSON value
|
inlinestatic |
create a MessagePack serialization of a given JSON value
|
inlinestatic |
create a UBJSON serialization of a given JSON value
|
inlinestatic |
create a UBJSON serialization of a given JSON value
|
inlinestatic |
create a UBJSON serialization of a given JSON value
|
inlineconstexprnoexcept |
|
inlinenoexcept |
return the type as string
|
inline |
unflatten a previously flattened JSON value
Definition at line 24745 of file json.hpp.
References json_pointer< RefStringType >::unflatten().

|
inline |
updates a JSON object from another object, overwriting existing keys
Definition at line 23457 of file json.hpp.
References detail::concat(), JSON_HEDLEY_UNLIKELY, and JSON_THROW.

|
inline |
updates a JSON object from another object, overwriting existing keys
Definition at line 23450 of file json.hpp.
References basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::begin(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::end().

|
inline |
|
inline |
|
inline |
access specified object element via JSON Pointer with default value
Definition at line 22368 of file json.hpp.
References detail::concat(), json_pointer< RefStringType >::get_checked(), JSON_HEDLEY_LIKELY, JSON_INTERNAL_CATCH, JSON_THROW, and JSON_TRY.

|
inline |
access specified object element via JSON Pointer with default value
Definition at line 22393 of file json.hpp.
References detail::concat(), json_pointer< RefStringType >::get_checked(), JSON_HEDLEY_LIKELY, JSON_INTERNAL_CATCH, JSON_THROW, and JSON_TRY.

|
inline |
access specified object element with default value
Definition at line 22267 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, and JSON_THROW.

|
inline |
access specified object element with default value
Definition at line 22292 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, and JSON_THROW.

|
inline |
access specified object element with default value
Definition at line 22318 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, and JSON_THROW.

|
inline |
access specified object element via JSON Pointer with default value
Definition at line 22345 of file json.hpp.
References detail::concat(), JSON_HEDLEY_LIKELY, and JSON_THROW.

|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
deserialize from stream
j << i; with i >> j;.
|
friend |
deserialize from stream
|
friend |
exchanges the values
|
private |
|
private |
|
private |
| JSON_PRIVATE_UNLESS_TESTED __pad3__ |
| JSON_PRIVATE_UNLESS_TESTED __pad4__ |
|
private |
array (stored with pointer to save storage)
Definition at line 20445 of file json.hpp.
Referenced by LspServer::handleReferences().
|
private |
|
private |
| JSON_PRIVATE_UNLESS_TESTED const_reference bool inverse |
| data m_data = {} |
Definition at line 24262 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::basic_json(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::destroy(), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::patch_inplace().
| json_value m_value = {} |
the value of the current element
Definition at line 24237 of file json.hpp.
Referenced by basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::at(), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[](), and basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::operator[]().
|
private |
|
private |
|
private |
| JSON_PRIVATE_UNLESS_TESTED const_reference rhs |
|
private |