FreeBSD Manual Pages
std::counte...erator::base(3) C++ Standard Libarystd::counte...erator::base(3) NAME std::counted_iterator::base - std::counted_iterator::base Synopsis constexpr const I& base() const& noexcept; (1) (since C++20) constexpr I base() &&; (2) (since C++20) Returns the underlying base iterator. 1) Returns a reference to the underlying iterator. 2) Move constructs the return value from the underlying iterator. Parameters (none) Return value 1) A reference to the underlying iterator. 2) An iterator move constructed from the underlying iterator. Exceptions May throw implementation-defined exceptions. Example // Run this code #include <algorithm> #include <iostream> #include <iterator> #include <type_traits> #include <vector> int main() { std::vector<int> v{0, 1, 2, 3, 4}; std::reverse_iterator<std::vector<int>::iterator> reverse{v.rbe- gin()}; std::counted_iterator counted{reverse, 3}; static_assert(std::is_same< decltype(counted.base()), std::reverse_iterator<std::vector<int>::iterator> const& >{}); std::cout << "Print with reverse_iterator: "; for (auto r = counted.base(); r != v.rend(); ++r) std::cout << *r << ' '; std::cout << '\n'; std::cout << "Print with counted_iterator: "; for (; counted != std::default_sentinel; ++counted) std::cout << counted[0] << ' '; std::cout << '\n'; } Output: Print with reverse_iterator: 4 3 2 1 0 Print with counted_iterator: 4 3 2 Defect reports The following behavior-changing defect reports were applied retroac- tively to previously published C++ standards. DR Applied to Behavior as published Correct behavior LWG 3391 C++20 the const version of base returns a copy of re- turns a reference the underlying iterator LWG 3593 C++20 the const version of base returns a made noexcept reference but might not be noexcept See also operator* accesses the pointed-to element operator-> (public member function) (C++20) count returns the distance to the end (C++20) (public member function) http://cppreference.com 2024.06.10 std::counte...erator::base(3)
NAME | Synopsis | Parameters | Return value | Exceptions | Example | Output: | See also
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::counted_iterator::base&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
