JSON for Modern C++  1.1.0
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>
void nlohmann::basic_json::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
Constant.
Example
The example below shows how JSON arrays can be swapped.
1 #include <json.hpp>
2 
3 using namespace nlohmann;
4 
5 int 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 }
a class to store JSON values
Definition: json.hpp:191
namespace for Niels Lohmann
Definition: json.hpp:88
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:4641
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 4641 of file json.hpp.