Namespaces
Variants

operator+ (std::counted_iterator)

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 counted_iterator operator + (

std:: iter_difference_t < I > n, const counted_iterator & x )

requires std:: random_access_iterator < I > ;
(depuis C++20)

Retourne un adaptateur d'itérateur qui est avancé de n . Le comportement est indéfini si n est supérieur à la longueur enregistrée dans x (c'est-à-dire si x + n entraîne un comportement indéfini).

Cette fonction n'est pas visible par la recherche non qualifiée ou qualifiée ordinaire, et ne peut être trouvée 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

n - le nombre de positions pour incrémenter l'itérateur
x - l'adaptateur d'itérateur à incrémenter

Valeur de retour

Un adaptateur d'itérateur égal à x + n .

Exemple

#include <iostream>
#include <iterator>
#include <list>
#include <vector>
int main()
{
    std::vector v{0, 1, 2, 3, 4, 5};
    std::counted_iterator<std::vector<int>::iterator> p{v.begin() + 1, 4};
    std::cout << "*p:" << *p << ", count:" << p.count() << '\n';
    std::counted_iterator<std::vector<int>::iterator> q{2 + p};
    std::cout << "*q:" << *q << ", count:" << q.count() << '\n';
    std::list l{6, 7, 8, 9};
    std::counted_iterator<std::list<int>::iterator> r{l.begin(), 3};
    std::cout << "*r:" << *r << ", count:" << r.count() << '\n';
//  auto s{2 + r}; // error: the underlying iterator does
                   // not model std::random_access_iterator
}

Sortie :

*p:1, count:4
*q:3, count:2
*r:6, count:3

Voir aussi

avance ou décrémente l'itérateur counted_iterator
(fonction membre publique)
(C++20)
calcule la distance entre deux adaptateurs d'itérateur
(fonction template)
calcule la distance signée jusqu'à la fin
(fonction template)