Namespaces
Variants

operator== (std::ranges::take_view:: sentinel <Const>)

From cppreference.net
Ranges library
Range adaptors
friend constexpr bool

operator == ( const std:: counted_iterator < ranges:: iterator_t < Base >> & y,

const /*sentinel*/ & x ) ;
(1) (desde C++20)
template < bool OtherC = ! Const >

requires std:: sentinel_for < ranges:: sentinel_t < Base > ,
ranges:: iterator_t < /*add-const-if*/ < OtherC, V >>>
friend constexpr bool
operator == ( const std:: counted_iterator <
ranges:: iterator_t < /*add-const-if*/ < OtherC, V >>> & y,

const /*sentinel*/ & x ) ;
(2) (desde C++20)

Compara un take_view :: /*sentinel*/ con un std::counted_iterator (normalmente obtenido de una llamada a take_view::begin ).

Devuelve true si y apunta más allá del N th elemento (donde N es el número pasado al constructor de take_view ), o si se alcanza el final de la vista subyacente.

La plantilla de alias solo para exposición /*add-const-if*/ se define como
template < bool C, class T >
using /*add-const-if*/ = std:: conditional_t < C, const T, T > ;
.

Estas funciones no son visibles para la búsqueda no calificada o calificada ordinaria, y solo pueden ser encontradas mediante búsqueda dependiente de argumentos cuando std::ranges::take_view:: sentinel <Const> es una clase asociada de los argumentos.

El operador != es sintetizado a partir de operator== .

Contenidos

Parámetros

y - std::counted_iterator a comparar
x - centinela a comparar

Valor de retorno

y. count ( ) == 0 || y. base ( ) == x. end_ , donde end_ denota el centinela subyacente.

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 Aplicado a Comportamiento publicado Comportamiento correcto
LWG 3449 C++20 la comparación entre el iterador y el centinela de
take_view con calificación const diferente no era compatible
se hizo compatible cuando es posible