Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/thread/promise/swap2"

From cppreference.com
< cpp‎ | thread‎ | promise
m (Text replace - "{{noexcept" to "{{unreviewed noexcept")
m ((0)
 
(3 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{cpp/title | swap<small>(std::promise)</small>}}
+
{{cpp/title|swap<small>(std::promise)</small>}}
 
{{cpp/thread/promise/navbar}}
 
{{cpp/thread/promise/navbar}}
{{ddcl | header=future | since=c++11 |
+
{{ddcl|header=future|since=c++11|
 
template< class R >
 
template< class R >
void swap( promise<R> &lhs, promise<R> &rhs );
+
void swap( promise<R>& lhs, promise<R>& rhs ) noexcept;
 
}}
 
}}
  
Specializes the {{lc|std::swap}} algorithm for {{lc|std::promise}}. Exchanges the shared state of {{tt|lhs}} with that of {{tt|rhs}}. Effectively calls {{c|lhs.swap(rhs)}}.
+
Specializes the {{lc|std::swap}} algorithm for {{lc|std::promise}}. Exchanges the shared state of {{c|lhs}} with that of {{c|rhs}}. Effectively calls {{c|lhs.swap(rhs)}}.
  
 
===Parameters===
 
===Parameters===
 
{{par begin}}
 
{{par begin}}
{{par | lhs, rhs | promises whose states to swap}}
+
{{par|lhs, rhs|promises whose states to swap}}
 
{{par end}}
 
{{par end}}
  
 
===Return value===
 
===Return value===
 
(none)
 
(none)
 
===Exceptions===
 
{{unreviewed noexcept}}
 
  
 
===Example===
 
===Example===
 
{{example
 
{{example
| code=
+
|code=
| output=
+
|output=
 
}}
 
}}
  
 
===See also===
 
===See also===
 
{{dsc begin}}
 
{{dsc begin}}
{{dsc inc | cpp/thread/promise/dsc swap}}
+
{{dsc inc|cpp/thread/promise/dsc swap}}
 
{{dsc end}}
 
{{dsc end}}
  
[[de:cpp/thread/promise/swap2]]
+
{{langlinks|de|es|fr|it|ja|pt|ru|zh}}
[[es:cpp/thread/promise/swap2]]
+
[[fr:cpp/thread/promise/swap2]]
+
[[it:cpp/thread/promise/swap2]]
+
[[ja:cpp/thread/promise/swap2]]
+
[[pt:cpp/thread/promise/swap2]]
+
[[ru:cpp/thread/promise/swap2]]
+
[[zh:cpp/thread/promise/swap2]]
+

Latest revision as of 14:03, 22 August 2023

 
 
Concurrency support library
Threads
(C++11)
(C++20)
this_thread namespace
(C++11)
(C++11)
(C++11)
Cooperative cancellation
Mutual exclusion
(C++11)
Generic lock management
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Condition variables
(C++11)
Semaphores
Latches and Barriers
(C++20)
(C++20)
Futures
(C++11)
(C++11)
(C++11)
(C++11)
Safe Reclamation
(C++26)
Hazard Pointers
Atomic types
(C++11)
(C++20)
Initialization of atomic types
(C++11)(deprecated in C++20)
(C++11)(deprecated in C++20)
Memory ordering
Free functions for atomic operations
Free functions for atomic flags
 
 
Defined in header <future>
template< class R >
void swap( promise<R>& lhs, promise<R>& rhs ) noexcept;
(since C++11)

Specializes the std::swap algorithm for std::promise. Exchanges the shared state of lhs with that of rhs. Effectively calls lhs.swap(rhs).

Contents

[edit] Parameters

lhs, rhs - promises whose states to swap

[edit] Return value

(none)

[edit] Example

[edit] See also

swaps two promise objects
(public member function) [edit]