std::owner_less

来自cppreference.com
< cpp‎ | memory
 
 
 
动态内存管理
未初始化存储
(C++17)
垃圾收集支持
杂项
(C++20)
(C++11)
(C++11)
C 库
低层内存管理
 
定义于头文件 <memory>
template<>
struct owner_less<void>;
(C++17 起)

std::owner_less<> 是拥有待推导形参类型的 std::owner_less 特化。

目录

[编辑] 成员类型

 
成员类型 定义
is_transparent /* 未指定 */

[编辑] 注意

成员类型 is_transparent 指示调用方,此函数对象是一个通透函数对象:它接受任意类型的参数并使用完美转发,这在将函数对象在多种语境中,或以右值参数使用时,避免不需要的复制和转换。特别是,诸如 std::set::findstd::set::lower_bound 的模板函数在其 Compare 类型上使用此类型。

[编辑] 成员函数

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


[编辑] 参阅

提供基于拥有者的共享指针排序
(std::shared_ptr<T> 的公开成员函数) [编辑]
提供弱指针的基于拥有者顺序
(std::weak_ptr<T> 的公开成员函数) [编辑]