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.
  #include <json.hpp>
  using namespace nlohmann;
  int main()
  {
  // create JSON values
  json j_boolean = true;
  json j_number_integer = 17;
  json j_number_float = 23.42;
  json j_object = {{"one", 1}, {"two", 2}};
  json j_array = {1, 2, 4, 8, 16};
  json j_string = "Hello, world";
  // call erase
  j_boolean.erase(j_boolean.begin());
  j_number_integer.erase(j_number_integer.begin());
  j_number_float.erase(j_number_float.begin());
  j_object.erase(j_object.find("two"));
  j_array.erase(j_array.begin() + 2);
  j_string.erase(j_string.begin());
  // print values
  std::cout << j_boolean << '\n';
  std::cout << j_number_integer << '\n';
  std::cout << j_number_float << '\n';
  std::cout << j_object << '\n';
  std::cout << j_array << '\n';
  std::cout << j_string << '\n';
  }
  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