FreeBSD Manual Pages
std::experi...tional::swap(3) C++ Standard Libarystd::experi...tional::swap(3) NAME std::experimental::optional::swap - std::experimental::optional::swap Synopsis void swap( optional& other ) noexcept(/* see below */); (library fundamentals TS) Swaps the contents with those of other. * If neither *this nor other contain a value, the function has no effect. * If only one of *this and other contains a value (let's call this object in and the other un), the contained value of un is direct-initialized from std::move(*in), followed by destruction of the contained value of in as if by in.val->T::~T(). After this call, in does not contain a value un contains a value. * If both *this and other contain values, the contained values are exchanged by calling using std::swap; swap(**this, *other). T lvalues must satisfy Swappable. Parameters other - the optional object to exchange the contents with Return value (none) Exceptions noexcept specification: noexcept(std::is_nothrow_move_constructible<T>::value && noexcept(swap(std::declval<T&>(), std::declval<T&>()))) In the case of thrown exception, the states of the contained values of *this and other are determined by the exception safety guarantees of swap of type T or T's move constructor, whichever is called. For both *this and other, if the object contained a value, it is left containing a value, and the other way round. See also std::swap(std::experimental::optional) specializes the std::swap al- gorithm (function) http://cppreference.com 2022.07.31 std::experi...tional::swap(3)
NAME | Synopsis | Parameters | Return value | Exceptions | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::experimental::optional::swap&sektion=3&manpath=FreeBSD+Ports+15.0>
