1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
### jsoncons::basic_json::push_back
```cpp
template <typename T>
void push_back(T&& val)
```
Adds a new json element at the end of a json array. The argument `val` is forwarded to the `json` constructor as `std::forward<T>(val)`.
Throws `std::domain_error` if not an array.
### Examples
#### Creating an array of elements
```cpp
json cities(json_array_arg); // an empty array
std::cout << cities << '\n'; // output is "[]"
cities.push_back("Toronto");
cities.push_back("Vancouver");
// Insert "Montreal" at beginning of array
cities.insert(cities.array_range().begin(),"Montreal");
std::cout << cities << '\n';
```
Output:
```
[]
["Montreal","Toronto","Vancouver"]
```
#### Creating an array of elements with reserved storage
```cpp
json cities(json_array_arg);
cities.reserve(10); // storage is reserved
std::cout << "capacity=" << cities.capacity()
<< ", size=" << cities.size() << '\n';
cities.push_back("Toronto");
cities.push_back("Vancouver");
cities.insert(cities.array_range().begin(),"Montreal");
std::cout << "capacity=" << cities.capacity()
<< ", size=" << cities.size() << '\n';
std::cout << cities << '\n';
```
Output:
```
capacity=10, size=0
capacity=10, size=3
["Montreal","Toronto","Vancouver"]
```
|