std::owner_less
| Определено в заголовочном файле <memory>
|
||
template<> struct owner_less<void>; |
(начиная с C++17) | |
std::owner_less<> это специализация std::owner_less с выведенными типами параметров.
Типы элементы
| Тип элемент | Определение |
is_transparent
|
не указано |
Примечание
Тип элемент is_transparent указывает вызывающему объекту, что этот функциональный объект является прозрачным: он принимает аргументы произвольных типов и использует идеальную переадресацию, которая позволяет избежать ненужного копирования и преобразования, когда функциональный объект используется в разнородном контексте или с аргументами rvalue. В частности, шаблонные функции, такие как std::set::find и std::set::lower_bound , используют этот тип элемента в своих типах Compare.
| Макрос Тестирования функциональности | Значение | Стандарт | Функциональность |
|---|---|---|---|
__cpp_lib_transparent_operators |
201510L |
(C++17) | Прозрачный std::owner_less (std::owner_less<void>)
|
Функции-элементы
| сравнивает свои аргументы, используя семантику на основе владельца (функция) |
std::owner_less<void>::operator()
<tbody> </tbody> 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) | |
Сравнивает lhs и rhs, используя семантику на основе владельца. Эффективно вызывает lhs.owner_before(rhs).
Порядок является строгим слабым отношением порядка.
lhs и rhs эквивалентны, только если они оба пусты или имеют общее владение.
Параметры
| lhs, rhs | — | указатели общего владения для сравнения |
Возвращаемое значение
true, если lhs меньше чем rhs, как определено порядком на основе владельцев.
Смотрите также
| обеспечивает упорядочивание общих указателей на основе владельца (public функция-элемент std::shared_ptr)
| |
| обеспечивает упорядочивание слабых указателей на основе владельцев (public функция-элемент std::weak_ptr<T>)
|