Namespaces
Variants

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

De es.cppreference.net
 
 
Biblioteca de rangos
Adaptadores de rangos
 
 
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 (típicamente obtenido de una llamada a take_view::begin).

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

El alias de plantilla solo de 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 búsqueda calificada ordinarias, y solo se pueden encontrar mediante búsqueda dependiente de argumentos cuando std::ranges::take_view::sentinel<Const> es una clase asociada de los argumentos.

El operador != se sintetiza a partir de operator==.

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