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) (seit C++20)
friend constexpr std:: iter_difference_t < I > operator - (
std:: default_sentinel_t , const counted_iterator & y ) ;
(2) (seit C++20)
1) Gibt den negativen Abstand zum Ende zurück.
2) Gibt den positiven Abstand zum Ende zurück.

Diese Funktionsvorlage ist für gewöhnliches unqualified oder qualified lookup nicht sichtbar und kann nur durch argument-dependent lookup gefunden werden, wenn std::counted_iterator<I> eine assoziierte Klasse der Argumente ist.

Inhaltsverzeichnis

Parameter

x, y - Iterator-Adapter zur Berechnung der Differenz von

Rückgabewert

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

Beispiel

#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)
}
**Übersetzungsdetails:** - "Run this code" wurde zu "Diesen Code ausführen" übersetzt - Alle HTML-Tags, Attribute und Code-Blöcke wurden unverändert beibehalten - C++-spezifische Begriffe wie `constexpr`, `static_assert`, `std::counted_iterator` etc. wurden nicht übersetzt - Die Kommentare `// (1)` und `// (2)` wurden ebenfalls nicht übersetzt, da sie Teil des Codes sind

Siehe auch

erhöht oder verringert den counted_iterator
(öffentliche Elementfunktion)
(C++20)
erhöht den Iterator
(Funktions-Template)
(C++20)
berechnet die Distanz zwischen zwei Iterator-Adaptoren
(Funktions-Template)
Standardsentinel für die Verwendung mit Iteratoren, die ihre Bereichsgrenze kennen
(Klasse)