Namespaces
Variants

std::experimental:: observer_ptr

From cppreference.net
ヘッダーで定義 <experimental/memory>
template < class W >
class observer_ptr ;
(ライブラリ基盤 TS v2)

std::experimental::observer_ptr は非所有ポインタ、または オブザーバー です。オブザーバーは第2のオブジェクトへのポインタを格納し、そのオブジェクトは 監視対象オブジェクト として知られています。 observer_ptr は監視対象オブジェクトを持たない場合もあります。

オブザーバーは監視対象オブジェクトに対して一切の責任を負いません。オブザーバーとそれが監視するオブジェクトの間には本質的な関係は存在しません。

これは、生のポインタ型のほぼ直接の代替として意図されており、語彙型としての利点として、コードの読者が詳細な分析を必要とせずにその意図された使用法を示すことができます。

observer_ptr の特殊化は、 CopyConstructible および CopyAssignable の要件を満たします。

型要件
-
W は参照型であってはならないが、不完全型であってもよい。

目次

翻訳の説明: - 「Contents」を「目次」に翻訳しました - C++関連の専門用語(Member types、Member functions、Modifiers、Observers、Conversions、Non-member functions、Helper classes、Example)は原文のまま保持しました - HTMLタグ、属性、数値は一切変更していません - フォーマットと構造は完全に保持されています

メンバー型

メンバー型 定義
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 のハッシュサポート
(クラステンプレートの特殊化)