[ Web Proxy ]
URL:
Viewing: http://es.cppreference.com/cpp/string/basic_string_view/operator_cmp [Back]  [Original]

operator==,!=,<,<=,>,>=,<=>(std::basic_string_view) - cppreference.com
cppreference.com
Espacios de nombres
Variantes

operator==,!=,<,<=,>,>=,<=>(std::basic_string_view)

De cppreference.com
 
 
 
 
Definido en el archivo de encabezado <string_view>
template< typename CharT, typename Traits >
constexpr bool operator==( std::basic_string_view<CharT,Traits> lhs, 
                           std::basic_string_view<CharT,Traits> rhs ) noexcept;
(1) (desde C++17)
template< typename CharT, typename Traits >
constexpr bool operator!=( std::basic_string_view<CharT,Traits> lhs, 
                           std::basic_string_view<CharT,Traits> rhs ) noexcept;
(2) (desde C++17)
(hasta C++20)
template< typename CharT, typename Traits >
constexpr bool operator<( std::basic_string_view<CharT,Traits> lhs, 
                          std::basic_string_view<CharT,Traits> rhs ) noexcept;
(3) (desde C++17)
(hasta C++20)
template< typename CharT, typename Traits >
constexpr bool operator<=( std::basic_string_view<CharT,Traits> lhs, 
                           std::basic_string_view<CharT,Traits> rhs ) noexcept;
(4) (desde C++17)
(hasta C++20)
template< typename CharT, typename Traits >
constexpr bool operator>( std::basic_string_view<CharT,Traits> lhs, 
                          std::basic_string_view<CharT,Traits> rhs ) noexcept;
(5) (desde C++17)
(hasta C++20)
template< typename CharT, typename Traits >
constexpr bool operator>=( std::basic_string_view<CharT,Traits> lhs, 
                           std::basic_string_view<CharT,Traits> rhs ) noexcept;
(6) (desde C++17)
(hasta C++20)
template< typename CharT, typename Traits >
constexpr /*cat-comp*/
    operator<=>( std::basic_string_view<CharT,Traits> lhs, 
                 std::basic_string_view<CharT,Traits> rhs ) noexcept;
(7) (desde C++20)

Compara dos vistas.

Todas las comparaciones se realizan mediante la funcin miembro compare() (que en s misma se define en trminos de Traits::compare()):

  • Dos vistas son iguales si tanto el tamao de lhs como de rhs son iguales y cada carcter en lhs tiene un carcter equivalente en rhs en la misma posicin.
  • El orden de las comparaciones se efecta lexicogrficamente -- la comparacin se realiza mediante una funcin equivalente a std::lexicographical_compare.

El tipo de retorno del operador de comparacin de tres vas (/*cat-comp*/) es Traits::comparison_category si existe, de otra forma std::weak_ordering.

(desde C++20)

La implementacin deber proporcionar suficientes sobrecargas adicionales constexpr y noexcept de estas funciones de tal manera que un objeto basic_string_view<CharT,Traits> sv pueda compararse con otro objeto t con una conversin implcita a basic_string_view<CharT,Traits>, con semntica idntica a comparar sv y basic_string_view<CharT,Traits>(t).

Parmetros

lhs, rhs - Vistas a comparar

Valor de retorno

1-6) true si la comparacin correspondiente se mantiene, de otra manera false.
7) static_cast</*cat-comp*/>(lhs.compare(rhs) <=> 0).

Notas

Se pueden implementar suficientes sobrecargas adicionales mediante un contexto no deducido en un tipo de parmetro.

El tipo del resultado de la comparacin de tres vas de std::string_view, std::wstring_view, std::u8string_view, std::u16string_view y std::u32string_view es std::strong_ordering.

(desde C++20)

Complejidad

Lineal en el tamao de las vistas.


Web Proxy Viewer  |  New URL  |  Original Page