|
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>
Inserts elements from range [first, last) before iterator pos.
- Parameters
-
[in] | pos | iterator before which the content will be inserted; may be the end() iterator |
[in] | first | begin of the range of elements to insert |
[in] | last | end of the range of elements to insert |
- Exceptions
-
std::domain_error | if called on JSON values other than arrays; example: "cannot use insert() with string" |
std::domain_error | if pos is not an iterator of *this; example: "iterator does not fit current value" |
std::domain_error | if first and last do not belong to the same JSON value; example: "iterators do not fit" |
std::domain_error | if first or last are iterators into container for which insert is called; example: "passed iterators may not
belong to container" |
- Returns
- iterator pointing to the first element inserted, or pos if
first==last
- Complexity
- Linear in
std::distance(first, last) plus linear in the distance between pos and end of the container.
- Example
- The example shows how insert is used.
11 json v2 = { "one", "two", "three", "four"}; 17 std::cout << *new_pos << '\n'; 18 std::cout << v << '\n'; a class to store JSON values
iterator end() returns an iterator to one past the last element
iterator begin() returns an iterator to the first element
namespace for Niels Lohmann
iterator insert(const_iterator pos, const basic_json &val) inserts element
Output (play with this example online): "one"
[1,2,3,4,"one","two","three","four"]
The example code above can be translated withg++ -std=c++11 -Isrc doc/examples/insert__range.cpp -o insert__range
- Since
- version 1.0.0
Definition at line 4545 of file json.hpp.
|