Namensräume
Varianten
Aktionen

std::counted_iterator<I>::operator*,->

Von cppreference.com
 
 
Iterator-Bibliothek
Iterator-Konzepte
Iterator-Primitive
Algorithmus-Konzepte und Hilfsprogramme
Indirekte aufrufbare Konzepte
Gemeinsame Algorithmus-Anforderungen
(C++20)
(C++20)
(C++20)
Dienstprogramme
(C++20)
Iterator-Adapter
Bereichszugriff
(C++11)(C++14)
(C++14)(C++14)  
(C++11)(C++14)
(C++14)(C++14)  
(C++17)(C++20)
(C++17)
(C++17)
 
 
constexpr decltype(auto) operator*();
(1) (seit C++20)
constexpr decltype(auto) operator*() const
    requires /* dereferenzierbar */<const I>;
(2) (seit C++20)
constexpr auto operator->() const noexcept
    requires std::contiguous_iterator<I>;
(3) (seit C++20)
1,2) Gibt eine Referenz auf das aktuelle Element zurück. Das Verhalten ist undefiniert, wenn this->count() <= 0. Der Funktionskörper ist äquivalent zu return *current;.
3) Gibt einen Zeiger auf das aktuelle Element zurück. Der Funktionskörper ist äquivalent zu return std::to_address(current);.

Inhalt

[bearbeiten] Parameter

(keine)

[bearbeiten] Rückgabewert

Referenz oder Zeiger auf das aktuelle Element.

[bearbeiten] Beispiel

#include <complex>
#include <iostream>
#include <iterator>
using std::operator""i;
 
int main()
{
    const auto il = {1.i, 2.i, 3.i, 4.i, 5.i};
 
    for (std::counted_iterator i{il.begin() + 1, 3}; i != std::default_sentinel; ++i)
        std::cout << *i << ' ';
    std::cout << '\n';
 
    for (std::counted_iterator i{il.begin() + 1, 3}; i != std::default_sentinel; ++i)
        std::cout << i->imag() << ' ';
    std::cout << '\n';
}

Ausgabe

(0,2) (0,3) (0,4)
2 3 4

[bearbeiten] Siehe auch

greift per Index auf ein Element zu
(öffentliche Memberfunktion) [edit]