std::owner_less
Определён в заголовке <memory> | ||
|---|---|---|
template<> struct owner_less<void>; | (начиная с C++17) |
std::owner_less<void> — специализация std::owner_less с выводимыми типами параметров.
Вложенные типы
| Вложенный тип | Определение |
|---|---|
is_transparent | не указано |
Функции-члены
| сравнивает аргументы, используя семантику на основе владельца (функция) |
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;
| (1) |
(начиная с C++17) (constexpr начиная с C++26) |
template< class T, class U >
bool operator()( const std::shared_ptr<T>& lhs,
const std::weak_ptr<U>& rhs ) const noexcept;
| (2) |
(начиная с C++17) (constexpr начиная с C++26) |
template< class T, class U >
bool operator()( const std::weak_ptr<T>& lhs,
const std::shared_ptr<U>& rhs ) const noexcept;
| (3) |
(начиная с C++17) (constexpr начиная с C++26) |
template< class T, class U >
bool operator()( const std::weak_ptr<T>& lhs,
const std::weak_ptr<U>& rhs ) const noexcept;
| (4) |
(начиная с C++17) (constexpr начиная с C++26) |
Сравнивает lhs и rhs, используя семантику на основе владельца. Фактически вызывает lhs.owner_before(rhs).
Порядок является отношением строгого слабого порядка.
lhs и rhs эквивалентны, только если оба они пусты или имеют общего владельца.
Параметры
| lhs, rhs | - | указатели совместного владения для сравнения |
Возвращаемое значение
true, если lhs меньше rhs согласно порядку на основе владельца.
Примечания
| Макрос проверки поддержки функции | Значение | Стандарт | Функция |
|---|---|---|---|
__cpp_lib_transparent_operators | 201510L | (C++17) | Прозрачные std::owner_less (std::owner_less<void>) |
__cpp_lib_constexpr_memory | 202506L | (C++26) | constexpr std::owner_less<void> |
См. также
| задаёт порядок указателей shared_ptr на основе владельца (открытая функция-член std::shared_ptr<T>) |
|
| задаёт порядок указателей weak_ptr на основе владельца (открытая функция-член std::weak_ptr<T>) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/memory/owner_less_void