operator==(std::ranges::take_view::sentinel<Const>)
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</*agregar-const-si*/<OtherC, V>>>
friend constexpr bool operator==( const std::counted_iterator<ranges::iterator_t<
/*agregar-const-si*/<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).
Devuelve true si y apunta después 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.
La plantilla de alias solo de exposición agregar-const-si se define como template<bool C, class T> using /*agregar-const-si*/ = std::conditional_t<C, const T, T>;.
Estas funciones no son visibles a una búsqueda no calificada o calificada, y pueden encontrarse solamente mediante la búsqueda dependiente de argumento 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
| Esta sección está incompleta Razón: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.
| ID | Aplicado a | Comportamiento según lo publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 3449 | C++20 | La comparación entre el iterador y el centinela detake_view calificado const de manera distinta no se admitía.
|
Se admite cuando es posible. |