Namespaces
Variants

operator- (std::counted_iterator<I>, std::default_sentinel_t)

From cppreference.net
Iterator library
Iterator concepts
Iterator primitives
Algorithm concepts and utilities
Indirect callable concepts
Common algorithm requirements
(C++20)
(C++20)
(C++20)
Utilities
(C++20)
Iterator adaptors
Range access
(C++11) (C++14)
(C++14) (C++14)
(C++11) (C++14)
(C++14) (C++14)
(C++17) (C++20)
(C++17)
(C++17)
friend constexpr std:: iter_difference_t < I > operator - (
const counted_iterator & x, std:: default_sentinel_t ) ;
(1) (depuis C++20)
friend constexpr std:: iter_difference_t < I > operator - (
std:: default_sentinel_t , const counted_iterator & y ) ;
(2) (depuis C++20)
1) Retourne la distance négative jusqu'à la fin.
2) Retourne la distance positive jusqu'à la fin.

Ce modèle de fonction n'est pas visible par la recherche non qualifiée ordinaire ou la recherche qualifiée , et ne peut être trouvé que par la recherche dépendante des arguments lorsque std::counted_iterator<I> est une classe associée des arguments.

Table des matières

Paramètres

x, y - adaptateurs d'itérateur pour calculer la différence de

Valeur de retour

1) - x. count ( )
2) y. count ( )

Exemple

#include <initializer_list>
#include <iterator>
int main()
{
    constexpr static auto v = {1, 2, 3, 4};
    constexpr std::counted_iterator<std::initializer_list<int>::iterator>
        it{v.begin(), 3};
    constexpr auto d1 = it - std::default_sentinel;
    static_assert(d1 == -3); // (1)
    constexpr auto d2 = std::default_sentinel - it;
    static_assert(d2 == +3); // (2)
}

Voir aussi

avance ou décrémente l'itérateur counted_iterator
(fonction membre publique)
(C++20)
avance l'itérateur
(modèle de fonction)
(C++20)
calcule la distance entre deux adaptateurs d'itérateur
(modèle de fonction)
sentinelle par défaut pour utilisation avec les itérateurs qui connaissent la limite de leur plage
(classe)