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.