JSON for Modern C++ 2.1.1
Loading...
Searching...
No Matches

◆ swap() [3/4]

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>
void nlohmann::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer >::swap ( reference  other)
inlinenoexcept

Exchanges the contents of the JSON value with those of other. Does not invoke any move, copy, or swap operations on individual elements. All iterators and references remain valid. The past-the-end iterator is invalidated.

Parameters
[in,out]otherJSON value to exchange the contents with
Complexity\n Constant.
Example\n The example below shows how JSON values can be swapped with
swap().
1#include <json.hpp>
2
3using json = nlohmann::json;
4
5int main()
6{
7 // create two JSON values
8 json j1 = {1, 2, 3, 4, 5};
9 json j2 = {{"pi", 3.141592653589793}, {"e", 2.718281828459045}};
10
11 // swap the values
12 j1.swap(j2);
13
14 // output the values
15 std::cout << "j1 = " << j1 << '\n';
16 std::cout << "j2 = " << j2 << '\n';
17}
static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >())
explicitly create an array from an initializer list
Definition json.hpp:2165
void swap(reference other) noexcept(std::is_nothrow_move_constructible< value_t >::value and std::is_nothrow_move_assignable< value_t >::value and std::is_nothrow_move_constructible< json_value >::value and std::is_nothrow_move_assignable< json_value >::value)
exchanges the values
Definition json.hpp:5738
a class to store JSON values
Definition json.hpp:1040
basic_json<> json
default JSON class
Definition json.hpp:12369

Output (play with this example online):
j1 = {"e":2.71828182845905,"pi":3.14159265358979}
j2 = [1,2,3,4,5]

The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/swap__reference.cpp -o swap__reference 
Since
version 1.0.0

Definition at line 5738 of file json.hpp.