std::ranges...erator::base(3)
πΈ std::ranges...erator::base(3) πΈ
hey bestie!! welcome to the C++ Standard Libary page for this one β¨ (yes, that's the manual name, and yes we're keeping it exactly as it appears π
). This is the std::ranges::transform_view::iterator::base member function, and it's giving "hand me the iterator underneath" π«Ά.
π NAME π
std::ranges::transform_view::iterator::base β std::ranges::transform_view::iterator::base.
That's the name twice, exactly like the manpage, and honestly? iconic π .
β¨ Synopsis β¨
Two overloads, both iconic, both since C++20:
constexpr const ranges::iterator_t<Base>& base() const & noexcept;
(1) (since C++20)
constexpr ranges::iterator_t<Base> base() &&;
(2) (since C++20)
Returns the underlying iterator.
- Returns a reference to the underlying iterator.
- Move constructs the result from the underlying iterator.
π«Ά Parameters π«Ά
(none) β literally zero parameters, bestie π.
π Return value π
- A reference to the underlying iterator.
- An iterator move constructed from the underlying iterator.
π¦ Example π¦
// Run this 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';
}
π Output π
0 1 2 3 4
0 1 2 3 4
0 2 4 6 8
π Defect reports π
The following behavior-changing defect reports were applied retroactively to previously published C++ standards.
- DR
LWG 3533, applied to C++20 β behavior as published: theconst&overload ofbasereturns a copy of the underlying iterator; correct behavior: returns a reference. - DR
LWG 3593, applied to C++20 β behavior as published: theconst&overload ofbasemight not benoexcept; correct behavior: madenoexcept.
mwah π source/version: http://cppreference.com, date: 2024.06.10, page: std::ranges...erator::base(3). that's the footer folded into a cute little bye-bye, bestie π«Άβ¨
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms