cplusplus
.com
TUTORIALS
REFERENCE
ARTICLES
FORUM
C++
Tutorials
Reference
Articles
Forum
Reference
C library:
<cassert> (assert.h)
<cctype> (ctype.h)
<cerrno> (errno.h)
C++11
<cfenv> (fenv.h)
<cfloat> (float.h)
C++11
<cinttypes> (inttypes.h)
<ciso646> (iso646.h)
<climits> (limits.h)
<clocale> (locale.h)
<cmath> (math.h)
<csetjmp> (setjmp.h)
<csignal> (signal.h)
<cstdarg> (stdarg.h)
C++11
<cstdbool> (stdbool.h)
<cstddef> (stddef.h)
C++11
<cstdint> (stdint.h)
<cstdio> (stdio.h)
<cstdlib> (stdlib.h)
<cstring> (string.h)
C++11
<ctgmath> (tgmath.h)
<ctime> (time.h)
C++11
<cuchar> (uchar.h)
<cwchar> (wchar.h)
<cwctype> (wctype.h)
Containers:
C++11
<array>
<deque>
C++11
<forward_list>
<list>
<map>
<queue>
<set>
<stack>
C++11
<unordered_map>
C++11
<unordered_set>
<vector>
Input/Output:
<fstream>
<iomanip>
<ios>
<iosfwd>
<iostream>
<istream>
<ostream>
<sstream>
<streambuf>
Multi-threading:
C++11
<atomic>
C++11
<condition_variable>
C++11
<future>
C++11
<mutex>
C++11
<thread>
Other:
<algorithm>
<bitset>
C++11
<chrono>
C++11
<codecvt>
<complex>
<exception>
<functional>
C++11
<initializer_list>
<iterator>
<limits>
<locale>
<memory>
<new>
<numeric>
C++11
<random>
C++11
<ratio>
C++11
<regex>
<stdexcept>
<string>
C++11
<system_error>
C++11
<tuple>
C++11
<type_traits>
C++11
<typeindex>
<typeinfo>
<utility>
<valarray>
<future>
classes
C++11
future
C++11
future_error
C++11
packaged_task
C++11
promise
C++11
shared_future
enum classes
C++11
future_errc
C++11
future_status
C++11
launch
functions
C++11
async
C++11
future_category
promise
C++11
promise::~promise
C++11
promise::promise
member functions
C++11
promise::get_future
C++11
promise::operator=
C++11
promise::set_exception
C++11
promise::set_exception_at_thread_exit
C++11
promise::set_value
C++11
promise::set_value_at_thread_exit
C++11
promise::swap
non-member overloads
C++11
swap (promise)
non-member specializations
C++11
uses_allocator<promise>
Reference
<future>
promise
swap
function template
<future>
std::
swap (promise)
template <class T> void swap (promise<T>& x, promise<T>& y) noexcept;
Swap promises
Exchanges the
shared states
(or lack of) between
x
and
y
.
This is an overload of
swap
that behaves as if
x.
swap
(y)
was called.
Parameters
x,y
promise
objects of the same type (with the same template parameter).
Return value
none
Data races
Both objects,
x
and
y
, are modified.
Exception safety
No-throw guarantee:
never throws exceptions.
See also
promise::swap
Swap shared states
(public member function)
promise::operator=
Move-assign promise
(public member function)
swap
Exchange values of two objects
(function template)