名稱空間
變體
操作

std::owner_less

來自 cppreference.com
< cpp‎ | 記憶體
 
 
記憶體管理庫
(僅作說明*)
未初始化記憶體演算法
(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*)
顯式生命週期管理
 
定義於標頭檔案 <memory>
template<>
struct owner_less<void>;
(C++17 起)

std::owner_less<void>std::owner_less 的特化,其引數型別被推導。

目錄

[編輯] 巢狀型別

巢狀型別 定義
is_transparent 未指定

[編輯] 成員函式

operator()
使用基於所有權的語義比較其引數
(函式)

std::owner_less<void>::operator()

template< class T, class U >

bool operator()( const std::shared_ptr<T>& lhs,

                 const std::shared_ptr<U>& rhs ) const noexcept;
(C++17 起)
template< class T, class U >

bool operator()( const std::shared_ptr<T>& lhs,

                 const std::weak_ptr<U>& rhs ) const noexcept;
(C++17 起)
template< class T, class U >

bool operator()( const std::weak_ptr<T>& lhs,

                 const std::shared_ptr<U>& rhs ) const noexcept;
(C++17 起)
template< class T, class U >

bool operator()( const std::weak_ptr<T>& lhs,

                 const std::weak_ptr<U>& rhs ) const noexcept;
(C++17 起)

使用基於所有者的語義比較 lhsrhs。實際上呼叫 lhs.owner_before(rhs)

此排序是嚴格弱序關係。

lhsrhs 僅當它們都為空或共享所有權時才等價。

引數

lhs, rhs - 要比較的共享所有權指標

返回值

如果 lhs 按照基於所有者的排序“小於” rhs,則為 true

[編輯] 註釋

特性測試 標準 特性
__cpp_lib_transparent_operators 201510L (C++17) 透明 std::owner_less (std::owner_less<void>)

[編輯] 參閱

提供共享指標的基於所有權的排序
(std::shared_ptr<T> 的公共成員函式) [編輯]
提供弱指標的基於所有權的排序
(std::weak_ptr<T> 的公共成員函式) [編輯]