JSON for Modern C++  3.7.0

◆ insert() [5/6]

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 = std::int64_t, class NumberUnsignedType = std::uint64_t, class NumberFloatType = double, template< typename U > class AllocatorType = std::allocator, template< typename T, typename SFINAE=void > class JSONSerializer = adl_serializer>
iterator nlohmann::basic_json::insert ( const_iterator  pos,
initializer_list_t  ilist 
)
inline

Inserts elements from initializer list ilist before iterator pos.

Parameters
[in]positerator before which the content will be inserted; may be the end() iterator
[in]ilistinitializer list to insert the values from
Exceptions
type_error.309if called on JSON values other than arrays; example: "cannot use insert() with string"
invalid_iterator.202if pos is not an iterator of *this; example: "iterator does not fit current value"
Returns
iterator pointing to the first element inserted, or pos if ilist is empty
Complexity
Linear in ilist.size() plus linear in the distance between pos and end of the container.
Example
The example shows how insert() is used.
1 #include <iostream>
2 #include <nlohmann/json.hpp>
3 
4 using json = nlohmann::json;
5 
6 int main()
7 {
8  // create a JSON array
9  json v = {1, 2, 3, 4};
10 
11  // insert range from v2 before the end of array v
12  auto new_pos = v.insert(v.end(), {7, 8, 9});
13 
14  // output new array and result of insert call
15  std::cout << *new_pos << '\n';
16  std::cout << v << '\n';
17 }
basic_json<> json
default JSON class
Definition: json.hpp:2355

Output (play with this example online):
7
[1,2,3,4,7,8,9]
The example code above can be translated with
g++ -std=c++11 -Isingle_include doc/examples/insert__ilist.cpp -o insert__ilist 
Since
version 1.0.0

Definition at line 19695 of file json.hpp.