C++ valarray Library - Function swap
Description
It exchanges the contents of *this and x.
Declaration
Following is the declaration for std::valarray::swap function.
template <class T> void swap (valarray<T>& x, valarray<T>& y) noexcept;
C++11
template <class T> void swap (valarray<T>& x, valarray<T>& y) noexcept;
Parameters
x,y − These are the another valarray objects of the same type.
Return Value
none
Exceptions
Basic guarantee − if any operation performed on the elements throws an exception.
Data races
All elements effectively copied are accessed.
Example
In below example explains about std::valarray::swap function.
#include <iostream>
#include <valarray>
int main () {
std::valarray<int> foo {0,10,20,30};
std::valarray<int> bar {100,200,300};
foo.swap(bar);
std::cout << "foo contains:";
for (auto& x: foo) std::cout << ' ' << x;
std::cout << '\n';
std::cout << "bar contains:";
for (auto& x: bar) std::cout << ' ' << x;
std::cout << '\n';
return 0;
}
Let us compile and run the above program, this will produce the following result −
foo contains: 100 200 300 bar contains: 0 10 20 30
valarray.htm