JSON for Modern C++  3.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>
nlohmann::basic_json::basic_json ( basic_json &&  other)
inlinenoexcept

Move constructor. Constructs a JSON value with the contents of the given value other using move semantics. It "steals" the resources from other and leaves it as JSON null value.

Parameters
othervalue to move to this object
Postcondition
other is a JSON null value
Complexity
Constant.
Example
The code below shows the move constructor explicitly called via std::move.
1 #include <json.hpp>
2 
3 using namespace nlohmann;
4 
5 int main()
6 {
7  // create a JSON value
8  json a = 23;
9 
10  // move contents of a to b
11  json b(std::move(a));
12 
13  // serialize the JSON arrays
14  std::cout << a << '\n';
15  std::cout << b << '\n';
16 }
a class to store JSON values
Definition: json.hpp:113
namespace for Niels Lohmann
Definition: json.hpp:49
Output:
null
23
The example code above can be translated with
g++ -std=c++11 -Isrc doc/examples/basic_json__moveconstructor.cpp -o basic_json__moveconstructor 
.