◐ Shell
clean mode source ↗

operator==,!=,<,<=,>,>=(std::experimental::basic_string_view) - cppreference.com

来自cppreference.com

在标头 <experimental/string_view> 定义

Compare two basic_string_view objects

template< class CharT, class Traits >
constexpr bool operator==( basic_string_view <CharT,Traits> lhs, 
                           basic_string_view <CharT,Traits> rhs ) noexcept;
(1) (库基础 TS)
template< class CharT, class Traits >
constexpr bool operator!=( basic_string_view <CharT,Traits> lhs, 
                           basic_string_view <CharT,Traits> rhs ) noexcept;
(2) (库基础 TS)
template< class CharT, class Traits >
constexpr bool operator<( basic_string_view <CharT,Traits> lhs, 
                          basic_string_view <CharT,Traits> rhs ) noexcept;
(3) (库基础 TS)
template< class CharT, class Traits >
constexpr bool operator<=( basic_string_view <CharT,Traits> lhs, 
                           basic_string_view <CharT,Traits> rhs ) noexcept;
(4) (库基础 TS)
template< class CharT, class Traits >
constexpr bool operator>( basic_string_view <CharT,Traits> lhs, 
                          basic_string_view <CharT,Traits> rhs ) noexcept;
(5) (库基础 TS)
template< class CharT, class Traits >
constexpr bool operator>=( basic_string_view <CharT,Traits> lhs, 
                           basic_string_view <CharT,Traits> rhs ) noexcept;
(6) (库基础 TS)

比较两个视图。

所有比较均通过 compare() 成员函数进行(其自身则基于 Traits::compare() 定义):

  • 如果 lhsrhs 的长度相等,且 lhs 中的每个字符均在 rhs 的相同位置有等价字符,则两个视图相等。
  • 定序比较是按词法序进行的——以等价于 std::lexicographical_compare 的函数进行比较。

实现应当为这些函数提供充分的其他 constexprnoexcept 重载,使得 basic_string_view<CharT,Traits> 对象 sv 可以和另一个对象 t 按隐式转换为 basic_string_view<CharT,Traits> 进行比较,其语义等同于比较 svbasic_string_view<CharT,Traits>(t)

参数

返回值

当相应比较成立时为 true,否则为 false

复杂度

与视图的大小呈线性。