JSON for Modern C++ 3.0

- Main Page
- Related Pages
- Classes

allocator_type
array
array_t
at
at
at
at
back
back
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
begin
begin
boolean_t
cbegin
cend
clear
const_pointer
const_reference
count
crbegin
crend
difference_type
dump
empty
end
end
erase
erase
erase
erase
find
find
front
front
get
get
get
get_allocator
get_ptr
get_ptr
is_array
is_boolean
is_discarded
is_null
is_number
is_number_float
is_number_integer
is_object
is_primitive
is_string
is_structured
max_size
number_float_t
number_integer_t
object
object_t
operator value_t
operator ValueType
operator!=
operator+=
operator+=
operator+=
operator<
operator<
operator<<
operator<<
operator<=
operator=
operator==
operator>
operator>=
operator>>
operator>>
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
parse
parse
parse_event_t
parser_callback_t
pointer
push_back
push_back
push_back
rbegin
rbegin
reference
rend
rend
size
size_type
string_t
swap
swap
swap
swap
type
value_t
value_type
~basic_json
| template<template< typename U, typename V, typename...Args > class ObjectType = std::map, template< typename U, typename...Args > class ArrayType = std::vector, class StringType = std::string, class BooleanType = bool, class NumberIntegerType = int64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator> template<class InteratorType , typename std::enable_if< std::is_same< InteratorType, typename __basic_json::iterator >::value orstd::is_same< InteratorType, typename __basic_json::const_iterator >::value, int >::type = 0>
InteratorType nlohmann::basic_json::erase | ( | InteratorType | pos | ) |
| inline
  Removes the element specified by iterator pos. Invalidates iterators and references at or after the point of the erase, including the end() iterator. The iterator pos must be valid and dereferenceable. Thus the end() iterator (which is valid, but is not dereferencable) cannot be used as a value for pos. If called on a primitive type other than null, the resulting JSON value will be `null`. Parameters
  [in] | pos | iterator to the element to remove
  Returns Iterator following the last removed element. If the iterator pos refers to the last element, the end() iterator is returned. Template Parameters
  InteratorType | an iterator or const_iterator
  Exceptions
  std::domain_error | if called on a `null` value
  std::domain_error | if called on an iterator which does not belong to the current JSON value
  std::out_of_range | if called on a primitive type with invalid iterator (i.e., any iterator which is not end())
  Complexity The complexity depends on the type: objects: amortized constant arrays: linear in distance between pos and the end of the container strings: linear in the length of the string other types: constant Example The example shows the result of erase for different JSON types. 1 #include <json.hpp> 2 3 using namespace nlohmann; 4 5 int main() 6 { 7 // create JSON values 8 json j_boolean = true; 9 json j_number_integer = 17; 10 json j_number_float = 23.42; 11 json j_object = {{"one", 1}, {"two", 2}}; 12 json j_array = {1, 2, 4, 8, 16}; 13 json j_string = "Hello, world"; 14 15 // call erase 16 j_boolean.erase(j_boolean.begin()); 17 j_number_integer.erase(j_number_integer.begin()); 18 j_number_float.erase(j_number_float.begin()); 19 j_object.erase(j_object.find("two")); 20 j_array.erase(j_array.begin() + 2); 21 j_string.erase(j_string.begin()); 22 23 // print values 24 std::cout << j_boolean << '\n'; 25 std::cout << j_number_integer << '\n'; 26 std::cout << j_number_float << '\n'; 27 std::cout << j_object << '\n'; 28 std::cout << j_array << '\n'; 29 std::cout << j_string << '\n'; 30 } nlohmann::basic_json a class to store JSON values Definition: json.hpp:130 nlohmann::basic_json::begin iterator begin() returns an iterator to the first element Definition: json.hpp:3130 nlohmann::basic_json::find iterator find(typename object_t::key_type key) find an element in a JSON object Definition: json.hpp:3052 nlohmann namespace for Niels Lohmann Definition: json.hpp:55 nlohmann::basic_json::erase InteratorType erase(InteratorType pos) remove element given an iterator Definition: json.hpp:2831 Output (play with this example online):
      null
      null
      null
      {"one":1}
      [1,2,8,16]
      null
  The example code above can be translated with
      g++ -std=c++11 -Isrc doc/examples/erase__IteratorType.cpp -o erase__IteratorType