Spec-Zone.ru › C++

std::owner_less

Определён в заголовке <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;
(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>

См. также

owner_before
задаёт порядок указателей shared_ptr на основе владельца
(открытая функция-член std::shared_ptr<T>)
owner_before
задаёт порядок указателей 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API