![]() |
WPILibC++ 2025.3.2
|
namespace for Niels Lohmann More...
#include <wpi/json.h>
Public Types | |
| using | serializer = ::wpi::detail::serializer<basic_json> |
| using | value_t = detail::value_t |
| using | json_pointer = ::wpi::json_pointer<StringType> |
| JSON Pointer, see wpi::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 | 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 wpi::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 = {} |
Friends | |
| template<detail::value_t > | |
| struct | detail::external_constructor |
| template<typename > | |
| class | ::wpi::json_pointer |
| template<typename BasicJsonType , typename InputType > | |
| class | ::wpi::detail::parser |
| template<typename BasicJsonType > | |
| class | ::wpi::detail::iter_impl |
| template<typename BasicJsonType , typename CharType > | |
| class | ::wpi::detail::binary_writer |
| template<typename BasicJsonType , typename InputType , typename SAX > | |
| class | ::wpi::detail::binary_reader |
| template<typename BasicJsonType > | |
| class | ::wpi::detail::json_sax_dom_parser |
| template<typename BasicJsonType > | |
| class | ::wpi::detail::json_sax_dom_callback_parser |
| class | ::wpi::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. | |
| 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 ::wpi::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 ::wpi::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 |
| 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 = wpi::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) |
| Helper for insertion of an iterator. | |
| 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 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) |
| 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) |
| 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) |
| 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 std::string &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 | |
| void | dump (raw_ostream &os, const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const |
| 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 ::wpi::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 ::wpi::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 ::wpi::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 ::wpi::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 ::wpi::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 basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::allocator_type = AllocatorType<basic_json> |
the allocator type
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::array_t = ArrayType<basic_json, AllocatorType<basic_json>> |
a type for an array
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::binary_t = wpi::byte_container_with_subtype<BinaryType> |
a type for a packed binary type
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::boolean_t = BooleanType |
a type for a boolean
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::cbor_tag_handler_t = detail::cbor_tag_handler_t |
how to treat CBOR tags
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_iterator = iter_impl<const basic_json> |
a const iterator for a basic_json container
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer |
the type of an element const pointer
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_reference = const value_type& |
the type of an element const reference
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::const_reverse_iterator = json_reverse_iterator<typename basic_json::const_iterator> |
a const reverse iterator for a basic_json container
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::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 basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::difference_type = std::ptrdiff_t |
a type to represent differences between iterators
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::error_handler_t = detail::error_handler_t |
how to treat decoding errors
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::exception = detail::exception |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::initializer_list_t = std::initializer_list<detail::json_ref<basic_json>> |
helper type for initializer lists of basic_json values
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::input_format_t = detail::input_format_t |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::invalid_iterator = detail::invalid_iterator |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::iterator = iter_impl<basic_json> |
an iterator for a basic_json container
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_pointer = ::wpi::json_pointer<StringType> |
JSON Pointer, see wpi::json_pointer.
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_sax_t = json_sax<basic_json> |
SAX interface type, see wpi::json_sax.
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_serializer = JSONSerializer<T, SFINAE> |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::number_float_t = NumberFloatType |
a type for a number (floating-point)
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::number_integer_t = NumberIntegerType |
a type for a number (integer)
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::number_unsigned_t = NumberUnsignedType |
a type for a number (unsigned)
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::object_comparator_t = detail::actual_object_comparator_t<basic_json> |
object key comparator type
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::object_t |
a type for an object
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::other_error = detail::other_error |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::out_of_range = detail::out_of_range |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::parse_error = detail::parse_error |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::parse_event_t = detail::parse_event_t |
parser event types
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::parser_callback_t = detail::parser_callback_t<basic_json> |
per-element parser callback type
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::pointer = typename std::allocator_traits<allocator_type>::pointer |
the type of an element pointer
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::reference = value_type& |
the type of an element reference
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::reverse_iterator = json_reverse_iterator<typename basic_json::iterator> |
a reverse iterator for a basic_json container
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::serializer = ::wpi::detail::serializer<basic_json> |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::size_type = std::size_t |
a type to represent container sizes
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::string_t = StringType |
a type for a string
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::type_error = detail::type_error |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::value_t = detail::value_t |
| using basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::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
|
inline |
create a container (array or object) from an initializer list
|
inline |
construct an array with count copies of given value
|
inline |
construct a JSON container given an iterator range
|
inline |
|
inline |
copy constructor
|
inlinenoexcept |
move constructor
|
inlinenoexcept |
destructor
|
inlinenoexcept |
|
inlinestatic |
explicitly create an array from an initializer list
|
inline |
|
inline |
|
inline |
access specified element via JSON Pointer
|
inline |
access specified element via JSON Pointer
|
inline |
access specified object element with bounds checking
|
inline |
access specified object element with bounds checking
|
inline |
access specified object element with bounds checking
|
inline |
access specified object element with bounds checking
|
inline |
access specified array element with bounds checking
|
inline |
access specified array element with bounds checking
|
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
|
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 |
returns a const iterator to the first element
|
inlinenoexcept |
returns an iterator to one past the last element
|
inlinenoexcept |
clears the contents
|
inline |
check the existence of an element in a JSON object given a JSON pointer
|
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
|
inlinenoexcept |
returns a const reverse iterator to one before the first
|
defaultnoexcept |
|
deletenoexcept |
|
inline |
|
defaultnoexcept |
|
inline |
|
inlinestatic |
creates a diff as a JSON patch
|
inline |
serialization
|
inline |
|
inline |
add an object to an object if key does not exist
|
inline |
add an object to an array
|
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
|
inline |
remove element from a JSON array given an index
|
inline |
remove element from a JSON object given a key
|
inline |
remove elements given an iterator range
|
inline |
remove element given an iterator
|
inline |
remove element from a JSON object given a key
|
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 |
find an element in a JSON object
|
inline |
return flattened JSON value
|
inlinestatic |
create a JSON value from an input in BJData format
|
inlinestatic |
create a JSON value from an input in BJData format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in BSON format
|
inlinestatic |
create a JSON value from an input in BSON format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in CBOR format
|
inlinestatic |
create a JSON value from an input in CBOR format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in MessagePack format
|
inlinestatic |
create a JSON value from an input in MessagePack format
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
create a JSON value from an input in UBJSON format
|
inlinestatic |
create a JSON value from an input in UBJSON format
|
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 |
|
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
|
inline |
get a binary value
|
inlineconstexprnoexcept |
get a pointer value (implicit)
|
inlinenoexcept |
get a pointer value (implicit)
|
inline |
get a reference value (implicit)
|
inline |
get a reference value (implicit)
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
get a value (explicit)
|
inline |
inserts range of elements into object
|
inline |
inserts element into array
|
inline |
inserts element into array
|
inline |
inserts range of elements into array
|
inline |
inserts elements from initializer list into array
|
inline |
inserts copies of element into array
|
inline |
Helper for insertion of an iterator.
|
inlineconstexprnoexcept |
return whether value is an array
|
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
|
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().
|
inlinenoexcept |
returns the maximum possible number of elements
|
inline |
applies a JSON Merge Patch
|
inlinestatic |
returns version information on the library
|
inlinestatic |
explicitly create an object from an initializer list
|
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
|
deletenoexcept |
|
deletenoexcept |
|
inline |
|
inline |
|
inline |
access specified element via JSON Pointer
|
inline |
access specified element via JSON Pointer
|
inline |
access specified object element
|
inline |
access specified object element
|
inline |
access specified object element
|
inline |
access specified array element
|
inline |
access specified array element
|
inline |
|
inline |
|
inline |
access specified object element
|
inline |
applies a JSON patch to a copy of the current object
|
inline |
applies a JSON patch in-place without copying the object
|
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 |
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
|
inlinestatic |
|
inlinestatic |
generate SAX events
|
inlinenoexcept |
returns the number of elements
|
inline |
exchanges the values
|
inline |
exchanges the values
|
inline |
exchanges the values
|
inlinenoexcept |
exchanges the values
|
inline |
exchanges the values
|
inline |
exchanges the values
|
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 |
return the type of the JSON value (explicit)
|
inlinenoexcept |
return the type as string
|
inline |
unflatten a previously flattened JSON value
|
inline |
updates a JSON object from another object, overwriting existing keys
|
inline |
updates a JSON object from another object, overwriting existing keys
|
inline |
|
inline |
|
inline |
access specified object element via JSON Pointer with default value
|
inline |
access specified object element via JSON Pointer with default value
|
inline |
access specified object element with default value
|
inline |
access specified object element with default value
|
inline |
access specified object element with default value
|
inline |
access specified object element via JSON Pointer with default value
|
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
| JSON_PRIVATE_UNLESS_TESTED basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::__pad2__ |
| JSON_PRIVATE_UNLESS_TESTED basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::__pad3__ |
| JSON_PRIVATE_UNLESS_TESTED const_reference bool basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::inverse |
| data basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_data = {} |
| json_value basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_value = {} |
the value of the current element
| JSON_PRIVATE_UNLESS_TESTED const_reference basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::rhs |