operator==(std::ranges::take_view::centinela<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</*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
|
Esta sección está incompleta
Razón: sin 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 |