allocator_type
array
array_t
at
at
at
at
back
back
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
basic_json
begin
begin
boolean_t
cbegin
cend
clear
const_pointer
const_reference
const_reverse_iterator
count
crbegin
crend
difference_type
dump
empty
end
end
erase
erase
erase
erase
find
find
front
front
get
get
get
get_allocator
get_ptr
get_ptr
get_ref
get_ref
insert
insert
insert
insert
insert
is_array
is_boolean
is_discarded
is_null
is_number
is_number_float
is_number_integer
is_object
is_primitive
is_string
is_structured
iterator_wrapper
iterator_wrapper
max_size
number_float_t
number_integer_t
object
object_t
operator value_t
operator ValueType
operator!=
operator!=
operator!=
operator+=
operator+=
operator+=
operator<
operator<
operator<<
operator<<
operator<=
operator=
operator==
operator==
operator==
operator>
operator>=
operator>>
operator>>
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
operator[]
parse
parse
parse
parse_event_t
parser_callback_t
pointer
push_back
push_back
push_back
rbegin
rbegin
reference
rend
rend
reverse_iterator
size
size_type
string_t
swap
swap
swap
swap
type
value
value
value_t
value_type
~basic_json

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 | ( | array_t & | other | ) |

inline

Exchanges the contents of a JSON array 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 | array to exchange the contents with

Exceptions

  std::domain_error | when JSON value is not an array; example: `"cannot use swap() with string"`

Complexity
  Constant.

Example
  The example below shows how JSON values can be swapped.
  #include <json.hpp>
  using namespace nlohmann;
  int main()
  {
  // create a JSON value
  json value = {{"array", {1, 2, 3, 4}}};
  // create an array_t
  json::array_t array = {"Snap", "Crackle", "Pop"};
  // swap the array stored in the JSON value
  value["array"].swap(array);
  // output the values
  std::cout << "value = " << value << '\n';
  std::cout << "array = " << array << '\n';
  }
  nlohmann::basic_json::array_t
  ArrayType< basic_json, AllocatorType< basic_json >> array_t
  a type for an array
  Definition: json.hpp:396
  nlohmann::basic_json
  a class to store JSON values
  Definition: json.hpp:191
  nlohmann
  namespace for Niels Lohmann
  Definition: json.hpp:88
  nlohmann::basic_json::swap
  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):

      value = {"array":["Snap","Crackle","Pop"]}
      array = [1,2,3,4]

  The example code above can be translated with

      g++ -std=c++11 -Isrc doc/examples/swap__array_t.cpp -o swap__array_t

Since
  version 1.0.0

Definition at line 4672 of file json.hpp.