# Non-member lexicographical comparisons

    template <typename T, typename Compare, typename Allocator>
    bool operator<( const concurrent_multiset<T, Compare, Allocator>& lhs,
                    const concurrent_multiset<T, Compare, Allocator>& rhs )

Returns: `true` if `lhs` is lexicographically less than `rhs`.

    template <typename T, typename Compare, typename Allocator>
    bool operator<=( const concurrent_multiset<T, Compare, Allocator>& lhs,
                     const concurrent_multiset<T, Compare, Allocator>& rhs )

Returns: `true` if `lhs` is lexicographically less or equal than `rhs`.

    template <typename T, typename Compare, typename Allocator>
    bool operator>( const concurrent_multiset<T, Compare, Allocator>& lhs,
                    const concurrent_multiset<T, Compare, Allocator>& rhs )

Returns: `true` if `lhs` is lexicographically greater than `rhs`.

    template <typename T, typename Compare, typename Allocator>
    bool operator>=( const concurrent_multiset<T, Compare, Allocator>& lhs,
                     const concurrent_multiset<T, Compare, Allocator>& rhs )

Returns: `true` if `lhs` is lexicographically greater or equal than `rhs`.