名前空間
変種
操作

std::weak_ptr<T>::owner_equal

From cppreference.com
< cpp‎ | memory‎ | weak ptr
 
 
メモリ管理ライブラリ
(説明用*)
未初期化メモリのアルゴリズム
(C++17)
(C++17)
(C++17)
制約付き未初期化
メモリアルゴリズム
Cライブラリ

アロケータ
メモリリソース
ガベージコレクションのサポート
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
(C++11)(C++23まで)
未初期化ストレージ
(C++20まで*)
(C++20まで*)
明示的な生存期間管理
 
 
template< class Y >
bool owner_equal( const std::weak_ptr<Y>& other ) const noexcept;
(1) (C++26以降)
template< class Y >
bool owner_equal( const std::shared_ptr<Y>& other ) const noexcept;
(2) (C++26以降)

このweak_ptrotherが所有権を共有しているか、または両方が空であるかを確認します。この比較は、2つのスマートポインタが両方とも空であるか、またはget()によって得られるポインタの値が異なる場合(例えば、同じオブジェクト内の異なるサブオブジェクトを指している場合)でも、同じオブジェクトを所有している場合にのみ等価とみなされます。

メンバ関数owner_equalは、!owner_before(other) && !other.owner_before(*this)trueであるならば、そしてその場合にのみowner_equal(other)trueとなるような同値関係です。

この順序は、sharedポインタとweakポインタを、通常はstd::owner_equalを介して、順序付けられていない連想コンテナのキーとして使用可能にするために使用されます。

目次

[編集] パラメータ

その他 - 比較対象のstd::shared_ptrまたはstd::weak_ptr

[編集] 戻り値

true *thisother が所有権を共有しているか、または両方が空の場合。それ以外の場合は、false を返します。

[編集] 注釈

機能テストマクロ 規格 機能
__cpp_lib_smart_ptr_owner_equality 202306L (C++26) 順序なし連想コンテナのキーとして std::weak_ptr の使用を有効にする

[編集]

[編集] 関連項目

shared ポインタと weak ポインタの、所有者ベースの混合型の等価比較を提供します
(クラス) [編集]
English 日本語 中文(简体) 中文(繁體)