std::experimental:: observer_ptr
From cppreference.net
<
cpp
|
experimental
|
ヘッダーで定義
<experimental/memory>
|
||
|
template
<
class
W
>
class observer_ptr ; |
(ライブラリ基盤 TS v2) | |
std::experimental::observer_ptr
は非所有ポインタ、または
オブザーバー
です。オブザーバーは第2のオブジェクトへのポインタを格納し、そのオブジェクトは
監視対象オブジェクト
として知られています。
observer_ptr
は監視対象オブジェクトを持たない場合もあります。
オブザーバーは監視対象オブジェクトに対して一切の責任を負いません。オブザーバーとそれが監視するオブジェクトの間には本質的な関係は存在しません。
これは、生のポインタ型のほぼ直接の代替として意図されており、語彙型としての利点として、コードの読者が詳細な分析を必要とせずにその意図された使用法を示すことができます。
observer_ptr
の特殊化は、
CopyConstructible
および
CopyAssignable
の要件を満たします。
| 型要件 | ||
-
W
は参照型であってはならないが、不完全型であってもよい。
|
目次 |
メンバー型
| メンバー型 | 定義 |
| element_type |
W
, この
observer_ptr
によって監視されるオブジェクトの型
|
メンバー関数
新しい
observer_ptr
を構築する
(public member function) |
|
|
(destructor)
(implicitly declared)
|
observer_ptr
を破棄する
(public member function) |
|
operator=
(implicitly declared)
|
格納されたポインタを代入する暗黙的に宣言されたコピーおよびムーブ代入演算子
(public member function) |
Modifiers |
|
|
監視対象オブジェクトへのポインタを返し、オブジェクトの監視を停止する
(public member function) |
|
|
監視対象オブジェクトを置き換える
(public member function) |
|
|
監視対象オブジェクトを交換する
(public member function) |
|
Observers |
|
|
監視対象オブジェクトへのポインタを返す
(public member function) |
|
|
関連付けられた監視対象オブジェクトが存在するかどうかをチェックする
(public member function) |
|
|
監視対象オブジェクトへのポインタを間接参照する
(public member function) |
|
Conversions |
|
|
格納されたポインタへの明示的変換関数
(public member function) |
|
非メンバー関数
オブジェクトを監視する
observer_ptr
を作成する
(関数テンプレート) |
|
別の
observer_ptr
または
nullptr
との比較を行う
(関数テンプレート) |
|
swap
アルゴリズムを特殊化する
(関数テンプレート) |
ヘルパークラス
observer_ptr
のハッシュサポート
(クラステンプレートの特殊化) |
例
|
このセクションは不完全です
理由: 例がありません |