# Non-member lexicographical comparisons

    template <typename T, typename Allocator>
    bool operator<( const concurrent_vector<T, Allocator>& lhs,
                    const concurrent_vector<T, Allocator>& rhs );

Returns: `true` if `lhs` is lexicographically less than `rhs`; `false`, otherwise.

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

Returns: `true` if `lhs` is lexicographically less or equal than `rhs`; `false`, otherwise.

    template <typename T, typename Allocator>
    bool operator>( const concurrent_vector<T, Allocator>& lhs,
                    const concurrent_vector<T, Allocator>& rhs );

Returns: `true` if `lhs` is lexicographically greater than `rhs`; `false`, otherwise.

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

Returns: `true` if `lhs` is lexicographically greater or equal than `rhs`; `false`, otherwise.