- future[meta header]
- std[meta namespace]
- promise[meta class]
- function[meta id-type]
- cpp11[meta cpp]
promise& operator=(promise&& rhs) noexcept; // (1)
promise& operator=(const promise& rhs) = delete; // (2)
- (1) : ムーブ代入演算子。
- (2) : コピー代入演算子。コピー禁止。
- (1) :
- まず現在の共有状態が準備完了状態(
future_status::ready
)でなければ、error conditionとしてbroken_promise
を持つfuture_error
例外オブジェクトを格納したのち、準備完了状態にする。 - 現在の共有状態を解放する。
promise(std::
move
(rhs)).swap(*this)
する。
- まず現在の共有状態が準備完了状態(
- (1) :
*this
#include <utility>
#include <future>
int main()
{
std::promise<int> p1;
std::promise<int> p2;
p2 = std::move(p1);
}
- std::move[link /reference/utility/move.md]
- C++11
- Clang: ??
- GCC: 4.7.0 [mark verified]
- ICC: ??
- Visual C++: 2012 [mark verified]