JSON for Modern C++ 1.1.0

- Main Page
- 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
const_reverse_iterator
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
get_ref
get_ref
insert
insert
insert
insert
insert
is_array
is_boolean
is_discarded
is_null
is_number
is_number_float
is_number_integer
is_object
is_primitive
is_string
is_structured
iterator_wrapper
iterator_wrapper
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[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
parse
parse
parse
parse_event_t
parser_callback_t
pointer
push_back
push_back
push_back
rbegin
rbegin
reference
rend
rend
reverse_iterator
size
size_type
string_t
swap
swap
swap
swap
type
value
value
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_t::iterator >::value or std::is_same< InteratorType, typename basic_json_t::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; example: `"cannot use erase() with null"`
  std::domain_error | if called on iterators which does not belong to the current JSON value; example: `"iterators do not fit current value"`
  std::out_of_range | if called on a primitive type with invalid iterators (i.e., if `first != begin()` and `last != end()`); example: `"iterators out of range"`
  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:191 nlohmann::basic_json::end iterator end() returns an iterator to one past the last element Definition: json.hpp:3833 nlohmann::basic_json::begin iterator begin() returns an iterator to the first element Definition: json.hpp:3774 nlohmann::basic_json::find iterator find(typename object_t::key_type key) find an element in a JSON object Definition: json.hpp:3691 nlohmann namespace for Niels Lohmann Definition: json.hpp:88 nlohmann::basic_json::erase InteratorType erase(InteratorType pos) remove element given an iterator Definition: json.hpp:3429 Output (play with this example online):
      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
See also erase(InteratorType) – removes the element at a given position erase(const typename object_t::key_type&) – removes the element from an object at the given key erase(const size_type) – removes the element from an array at the given index Since version 1.0.0 Definition at line 3534 of file json.hpp.