// (1) iterator insert(const_iterator pos, const basic_json& val); iterator insert(const_iterator pos, basic_json&& val); // (2) iterator insert(const_iterator pos, size_type cnt, const basic_json& val); // (3) iterator insert(const_iterator pos, const_iterator first, const_iterator last); // (4) iterator insert(const_iterator pos, initializer_list_t ilist); // (5) void insert(const_iterator first, const_iterator last);
val
to array before iterator pos
.cnt
copies of val
to array before iterator pos
.[first, last)
to array before iterator pos
.ilist
to array before iterator pos
.[first, last)
to object.pos
(in) : iterator before which the content will be inserted; may be the end()
iterator
val
(in) : value to insert
cnt
(in) : number of copies of val
to insert
first
(in) : begin of the range of elements to insert
last
(in) : end of the range of elements to insert
ilist
(in) : initializer list to insert the values from
val
.pos
if #!cpp cnt==0
pos
if #!cpp first==last
pos
if ilist
is emptytype_error.309
if called on JSON values other than arrays; example: "cannot use insert() with string"
invalid_iterator.202
if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value"
type_error.309
if called on JSON values other than arrays; example: "cannot use insert() with string"
invalid_iterator.202
if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value"
type_error.309
if called on JSON values other than arrays; example: "cannot use insert() with string"
invalid_iterator.202
if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value"
invalid_iterator.210
if first
and last
do not belong to the same JSON value; example: "iterators do not fit"
invalid_iterator.211
if first
or last
are iterators into container for which insert is called; example: "passed iterators may not belong to container"
type_error.309
if called on JSON values other than arrays; example: "cannot use insert() with string"
invalid_iterator.202
if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value"
type_error.309
if called on JSON values other than objects; example: "cannot use insert() with string"
invalid_iterator.202
if called on an iterator which does not belong to the current JSON value; example: "iterator does not fit current value"
invalid_iterator.210
if first
and last
do not belong to the same JSON value; example: "iterators do not fit"
Strong exception safety: if an exception occurs, the original value stays intact.
pos
and end of the container.cnt
plus linear in the distance between pos
and end of the container.#!cpp std::distance(first, last)
plus linear in the distance between pos
and end of the container.ilist.size()
plus linear in the distance between pos
and end of the container.O(N*log(size() + N))
, where N
is the number of elements to insert.??? example
The example shows how `insert()` is used. ```cpp --8<-- "examples/insert.cpp" ``` Output: ```json --8<-- "examples/insert.output" ```
??? example
The example shows how `insert()` is used. ```cpp --8<-- "examples/insert__count.cpp" ``` Output: ```json --8<-- "examples/insert__count.output" ```
??? example
The example shows how `insert()` is used. ```cpp --8<-- "examples/insert__range.cpp" ``` Output: ```json --8<-- "examples/insert__range.output" ```
??? example
The example shows how `insert()` is used. ```cpp --8<-- "examples/insert__ilist.cpp" ``` Output: ```json --8<-- "examples/insert__ilist.output" ```
??? example
The example shows how `insert()` is used. ```cpp --8<-- "examples/insert__range_object.cpp" ``` Output: ```json --8<-- "examples/insert__range_object.output" ```