Namespaces
Variants

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

From cppreference.net
Regular expressions library
Classes
(C++11)
Algorithms
Iterators
Exceptions
Traits
Constants
(C++11)
Regex Grammar
std::sub_match
Member functions
Non-member functions
operator== operator!= operator<< operator<= operator> operator>= operator<=>
(until C++20) (until C++20) (until C++20) (until C++20) (until C++20) (C++20)
Definido en el encabezado <regex>
Comparación directa
template < class BidirIt >

bool operator == ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(1) (desde C++11)
template < class BidirIt >

bool operator ! = ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(2) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator < ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(3) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator <= ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(4) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator > ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(5) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator >= ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(6) (desde C++11)
(hasta C++20)
template < class BidirIt >

auto operator <=> ( const std:: sub_match < BidirIt > & lhs,

const std:: sub_match < BidirIt > & rhs ) ;
(7) (desde C++20)
Comparando con un std::basic_string
template < class BidirIt, class Traits, class Alloc >

bool operator == ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(8) (desde C++11)
template < class BidirIt, class Traits, class Alloc >

bool operator ! = ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(9) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator < ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(10) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator <= ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(11) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator > ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(12) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator >= ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(13) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

auto operator <=> ( const std:: sub_match < BidirIt > & lhs,
const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,

Traits, Alloc > & str ) ;
(14) (desde C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator == ( const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,
Traits, Alloc > & cadena,

const std:: sub_match < BidirIt > & rhs ) ;
(15) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator ! = ( const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,
Traits, Alloc > & str,

const std:: sub_match < BidirIt > & rhs ) ;
(16) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator < ( const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,
Traits, Alloc > & str,

const std:: sub_match < BidirIt > & rhs ) ;
(17) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator <= ( const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,
Traits, Alloc > & str,

const std:: sub_match < BidirIt > & rhs ) ;
(18) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator > ( const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,
Traits, Alloc > & str,

const std:: sub_match < BidirIt > & rhs ) ;
(19) (desde C++11)
(hasta C++20)
template < class BidirIt, class Traits, class Alloc >

bool operator >= ( const std:: basic_string < /*tipo-de-valor-de*/ < BidirIt > ,
Traits, Alloc > & cadena,

const std:: sub_match < BidirIt > & rhs ) ;
(20) (desde C++11)
(hasta C++20)
Comparación con una cadena estilo C
template < class BidirIt >

bool operator == ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(21) (desde C++11)
template < class BidirIt >

bool operator ! = ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(22) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator < ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(23) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator <= ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(24) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator > ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(25) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator >= ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(26) (desde C++11)
(hasta C++20)
template < class BidirIt >

auto operator <=> ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > * s ) ;
(27) (desde C++20)
template < class BidirIt >

bool operator == ( const /*tipo-valor-de*/ < BidirIt > * s,

const std:: sub_match < BidirIt > & rhs ) ;
(28) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator ! = ( const /*tipo-de-valor-de*/ < BidirIt > * s,

const std:: sub_match < BidirIt > & rhs ) ;
(29) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator < ( const /*tipo-de-valor-de*/ < BidirIt > * s,

const std:: sub_match < BidirIt > & rhs ) ;
(30) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator <= ( const /*tipo-de-valor-de*/ < BidirIt > * s,

const std:: sub_match < BidirIt > & rhs ) ;
(31) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator > ( const /*tipo-de-valor-de*/ < BidirIt > * s,

const std:: sub_match < BidirIt > & rhs ) ;
(32) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator >= ( const /*tipo-de-valor-de*/ < BidirIt > * s,

const std:: sub_match < BidirIt > & rhs ) ;
(33) (desde C++11)
(hasta C++20)
Comparación con un solo carácter
template < class BidirIt >

bool operator == ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(34) (desde C++11)
template < class BidirIt >

bool operator ! = ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(35) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator < ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(36) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator <= ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(37) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator > ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(38) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator >= ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(39) (desde C++11)
(hasta C++20)
template < class BidirIt >

auto operator <=> ( const std:: sub_match < BidirIt > & lhs,

const /*tipo-de-valor-de*/ < BidirIt > & ch ) ;
(40) (desde C++20)
template < class BidirIt >

bool operator == ( const /*tipo-valor-de*/ < BidirIt > & ch,

const std:: sub_match < BidirIt > & rhs ) ;
(41) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator ! = ( const /*tipo-de-valor-de*/ < BidirIt > & ch,

const std:: sub_match < BidirIt > & rhs ) ;
(42) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator < ( const /*tipo-de-valor-de*/ < BidirIt > & ch,

const std:: sub_match < BidirIt > & rhs ) ;
(43) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator <= ( const /*tipo-de-valor-de*/ < BidirIt > & ch,

const std:: sub_match < BidirIt > & rhs ) ;
(44) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator > ( const /*tipo-de-valor-de*/ < BidirIt > & ch,

const std:: sub_match < BidirIt > & rhs ) ;
(45) (desde C++11)
(hasta C++20)
template < class BidirIt >

bool operator >= ( const /*tipo-valor-de*/ < BidirIt > & ch,

const std:: sub_match < BidirIt > & rhs ) ;
(46) (desde C++11)
(hasta C++20)
Alias de tipos auxiliares
template < class BidirIt >

using /*tipo-de-valor-de*/ =

typename std:: iterator_traits < BidirIt > :: value_type ;
(47) ( solo para exposición* )
template < class BidirIt >

using /*cat-type-of*/ =
std:: compare_three_way_result_t

< std:: basic_string < /*value-type-of*/ < BidirIt >>> ;
(48) (desde C++20)
( solo para exposición* )

Compara un sub_match con otro sub_match , una std::string , una cadena de estilo C o un carácter individual.

1-7) Compara dos sub_match directamente.
8-20) Compara un sub_match con una std::basic_string .
21-33) Compara un sub_match con una cadena de estilo C.
34-46) Compara un sub_match con un solo carácter.

Los operadores < , <= , > , >= y != son sintetizados a partir de operator <=> y operator == respectivamente.

(desde C++20)
47) value-type-of  < BidirIt > es el tipo de valor de BidirIt .
48) cat-type-of  < BidirIt > es el tipo de resultado de la comparación de tres vías de std:: sub_match < BidirIt > .

Contenidos

Parámetros

lhs, rhs - un sub_match para comparar
str - un std::basic_string para comparar
s - un puntero a una cadena estilo C para comparar
ch - un carácter para comparar

Valor de retorno

Sea target los siguientes valores:

1-7) rhs
8-20) typename std:: sub_match < BidirIt > :: string_type ( str. data ( ) , str. size ( ) )
21-33) s
34-46) typename std:: sub_match < BidirIt > :: string_type ( 1 , ch )

Los valores de retorno se definen de la siguiente manera:

Operador Valor de retorno
Sobrecargas (1-14,21-27,34-40)
(sobrecargas con parámetro lhs )
Sobrecargas (15-20,28-33,41-46)
(sobrecargas sin parámetro lhs )
== lhs. compare ( target ) == 0 rhs. compare ( target ) == 0
!= lhs. compare ( target ) ! = 0 rhs. compare ( target ) ! = 0
< lhs. compare ( target ) < 0 rhs. compare ( target ) > 0
<= lhs. compare ( target ) <= 0 rhs. compare ( target ) >= 0
> lhs. compare ( target ) > 0 rhs. compare ( target ) < 0
>= lhs. compare ( target ) >= 0 rhs. compare ( target ) <= 0
<=> static_cast < cat-type-of  < BidirIt >>
( lhs. compare ( target ) <=> 0 )
N/A

Notas

El tipo de retorno de operator <=> está garantizado que será un tipo de categoría de comparación. Si value-type-of  < BidirIt > es char , wchar_t , char8_t , char16_t , o char32_t , el tipo de retorno de operator<=> es std::strong_ordering .

Ejemplo

Informes de defectos

Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.

DR Se aplica a Comportamiento publicado Comportamiento correcto
LWG 2217 C++11 para comparaciones con std::string , el
argumento de compare() era str. c_str ( )
el argumento es
string_type ( str. data ( ) , str. size ( ) ) )

Véase también

compara la subsecuencia coincidente (si existe)
(función miembro pública)