operator==(std::ranges::take_view::sentinel<Const>)
friend constexpr bool
operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y,
const /*sentinel*/& x );
|
(1) | (depuis 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) | (depuis C++20) |
Compare un take_view::/*sentinel*/ avec un std::counted_iterator (généralement obtenu par un appel à take_view::begin).
Renvoie true si y pointe après le Ne élément (où N est le nombre passé au constructeur de take_view), ou si la fin de la vue sous-jacente est atteinte.
Le modèle d'alias d'exposition seule /*add-const-if*/ est défini comme
template<bool C, class T>using /*add-const-if*/ = std::conditional_t<C, const T, T>;.
Ces fonctions ne sont pas visibles lors d'une recherche non qualifiée ou qualifiée ordinaire, et ne peuvent être trouvées que par recherche dépendante des arguments lorsque std::ranges::take_view::sentinel<Const> est une classe associée des arguments.
L'opérateur != est synthétisé à partir de operator==.
Paramètres
| y | - | std::counted_iterator à comparer |
| x | - | sentinelle à comparer |
Valeur de retour
y.
count
(
)
==
0
||
y.
base
(
)
==
x.
end_
, où
end_
désigne le sentinelle sous-jacent.
Exemple
|
Cette section est incomplète
Raison : aucun exemple |
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | S'applique à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 3449 | C++20 |
la comparaison entre l'itérateur et le sentinelle de
take_view
différemment qualifié par const n'était pas supportée
|
rendue supportée lorsque possible |