|
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>
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] | other | JSON value to exchange the contents with |
- Complexity
- Constant.
- Example
- The example below shows how JSON arrays can be swapped.
8 json j1 = {1, 2, 3, 4, 5}; 9 json j2 = {{ "pi", 3.141592653589793}, { "e", 2.718281828459045}}; 15 std::cout << "j1 = " << j1 << '\n'; 16 std::cout << "j2 = " << j2 << '\n'; a class to store JSON values
namespace for Niels Lohmann
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
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 withg++ -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.
|