std::ranges::transform_view<V,F>::iterator<Const>::base
Depuis fr.cppreference.net
constexpr const ranges::iterator_t<Base>& base() const & noexcept;
|
(1) | (depuis C++20) |
constexpr ranges::iterator_t<Base> base() &&;
|
(2) | (depuis C++20) |
Retourne l'itérateur sous-jacent.
1) Retourne une référence à l'itérateur sous-jacent.
2) Construit par déplacement le résultat à partir de l'itérateur sous-jacent.
Paramètres
(aucun)
Valeur de retour
1)
Une référence à l'itérateur sous-jacent.
2)
Un itérateur construit par déplacement à partir de l'itérateur sous-jacent.
Exemple
Exécuter ce code
#include <algorithm> #include <iostream> #include <iterator> #include <ranges> int main() { const auto v = { 0, 1, 2, 3, 4 }; auto x2 = [](int x) { return x << 1; }; std::ranges::transform_view tv{ v, x2 }; std::ostream_iterator<int> ostr{ std::cout, " " }; std::ranges::copy(v, ostr), std::cout << '\n'; std::ranges::copy(tv.base(), ostr), std::cout << '\n'; std::ranges::copy(tv, ostr), std::cout << '\n'; }
Sortie :
0 1 2 3 4 0 1 2 3 4 0 2 4 6 8
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 | Applicable à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 3533 | C++20 |
la surcharge
const
&
de
base
retourne une copie de l'itérateur sous-jacent
|
retourne une référence |
| LWG 3593 | C++20 |
la surcharge
const
&
de
base
pourrait ne pas être noexcept
|
rendue noexcept |