std::owner_less(3)

NAME
std::owner_less - std::owner_less

Synopsis
   Defined in header <memory>
   template<> (since C++17)
   struct owner_less<void>;
   std::owner_less<void> is a specialization of std::owner_less with parameter types
   deduced.

Member functions
   operator() compares its arguments using owner-based semantics
              (function) std::owner_less<void>::operator()
   template< class T, class U >
   bool operator()( const std::shared_ptr<T>& lhs, (since C++17)
                    const std::shared_ptr<U>& rhs ) const noexcept;
   template< class T, class U >
   bool operator()( const std::shared_ptr<T>& lhs, (since C++17)
                    const std::weak_ptr<U>& rhs ) const noexcept;
   template< class T, class U >
   bool operator()( const std::weak_ptr<T>& lhs, (since C++17)
                    const std::shared_ptr<U>& rhs ) const noexcept;
   template< class T, class U >
   bool operator()( const std::weak_ptr<T>& lhs, (since C++17)
                    const std::weak_ptr<U>& rhs ) const noexcept;
   Compares lhs and rhs using owner-based semantics. Effectively calls
   lhs.owner_before(rhs).
   The ordering is strict weak ordering relation.
   lhs and rhs are equivalent only if they are both empty or share ownership.

Parameters
   lhs, rhs - shared-ownership pointers to compare

Return value
   true if lhs is less than rhs as determined by the owner-based ordering.

Notes
         Feature-test macro Value Std Feature
   __cpp_lib_transparent_operators 201510L (C++17) Transparent std::owner_less
                        (std::owner_less<void>)

See also
   owner_before provides owner-based ordering of shared pointers
                (public member function of std::shared_ptr<T>)
   owner_before provides owner-based ordering of weak pointers
                (public member function of std::weak_ptr<T>)