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_allocator
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
list_init_t
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 | first,
|  | InteratorType | last
| ) |  |
| inline
  Removes the element specified by the range `[first; last)`. Invalidates iterators and references at or after the point of the erase, including the end() iterator. The iterator first does not need to be dereferenceable if `first == last`: erasing an empty range is a no-op. If called on a primitive type other than null, the resulting JSON value will be `null`. Parameters
  [in] | first | iterator to the beginning of the range to remove
  [in] | last | iterator past the end of the range to remove
  Returns Iterator following the last removed element. If the iterator second 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 iterators which does not belong to the current JSON value
  std::out_of_range | if called on a primitive type with invalid iterators (i.e., if `first != begin()` and `last != end()`)
  Complexity The complexity depends on the type: objects: `log(size()) + std::distance(first, last)` arrays: linear in the distance between first and last, plus linear in the distance between last and 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(), j_boolean.end()); 17 j_number_integer.erase(j_number_integer.begin(), j_number_integer.end()); 18 j_number_float.erase(j_number_float.begin(), j_number_float.end()); 19 j_object.erase(j_object.find("two"), j_object.end()); 20 j_array.erase(j_array.begin() + 1, j_array.begin() + 3); 21 j_string.erase(j_string.begin(), j_string.end()); 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:121 nlohmann::basic_json::end iterator end() returns an iterator to one past the last element Definition: json.hpp:2857 nlohmann::basic_json::begin iterator begin() returns an iterator to the first element Definition: json.hpp:2797 nlohmann::basic_json::find iterator find(typename object_t::key_type key) find an element in a JSON object Definition: json.hpp:2719 nlohmann namespace for Niels Lohmann Definition: json.hpp:56 nlohmann::basic_json::erase InteratorType erase(InteratorType pos) remove element given an iterator Definition: json.hpp:2498 Output:
      null
      null
      null
      {"one":1}
      [1,8,16]
      null
  The example code above can be translated with
      g++ -std=c++11 -Isrc doc/examples/erase__IteratorType_IteratorType.cpp -o erase__IteratorType_IteratorType
.