std::swap(std::valarray)(3)

NAME
std::swap(std::valarray) - std::swap(std::valarray)

Synopsis
   Defined in header <valarray>
   template< class T > (since C++11)
   void swap( std::valarray<T>& lhs, std::valarray<T>& rhs ) noexcept;
   Specializes the std::swap algorithm for std::valarray. Swaps the contents of lhs and
   rhs. Calls lhs.swap(rhs).

Parameters
   lhs, rhs - valarrays whose contents to swap

Return value
   (none)

Complexity
   Constant.

Example
// Run this code
 #include <iostream>
 #include <valarray>
 void print(auto rem, const std::valarray<int>& v)
 {
     std::cout << rem << '{';
     for (char sep[]{0, ' ', 0}; auto elem : v)
         std::cout << sep << elem, *sep = ',';
     std::cout << "}\n";
 }
 int main()
 {
     std::valarray x{3, 1, 4, 1, 5};
     std::valarray y{2, 7, 1, 8};
     print("Before swap:\n" "x: ", x);
     print("y: ", y);
     std::swap(x, y);
     print("After swap:\n" "x: ", x);
     print("y: ", y);
 }

Output:
 Before swap:
 x: {3, 1, 4, 1, 5}
 y: {2, 7, 1, 8}
 After swap:
 x: {2, 7, 1, 8}
 y: {3, 1, 4, 1, 5}

See also
   swap swaps with another valarray
        (public member function)