|
◆ 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>
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\n Constant.
- Example\n The example below shows how JSON values can be swapped with
swap() .
9 json j2 = {{ "pi", 3.141592653589793}, { "e", 2.718281828459045}};
15 std::cout << "j1 = " << j1 << '\n';
16 std::cout << "j2 = " << j2 << '\n';
static basic_json array(std::initializer_list< basic_json > init=std::initializer_list< basic_json >()) explicitly create an array from an initializer list
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
a class to store JSON values
basic_json<> json default JSON class
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.
|