std::ranges::transform_view<V,F>::iterator<Const>::base
cppreference.net에서
constexpr const ranges::iterator_t<Base>& base() const & noexcept;
|
(1) | (C++20부터) |
constexpr ranges::iterator_t<Base> base() &&;
|
(2) | (C++20부터) |
내부 반복자를 반환합니다.
1) 내부 반복자에 대한 참조를 반환합니다.
2) 내부 반복자로부터 결과를 이동 생성합니다.
매개변수
(없음)
반환값
1)
기본 반복자에 대한 참조입니다.
2)
기본 반복자로부터 이동 생성된 반복자.
예제
이 코드 실행
#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'; }
출력:
0 1 2 3 4 0 1 2 3 4 0 2 4 6 8
결함 보고서
다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.
| DR | 적용 대상 | 게시된 동작 | 수정된 동작 |
|---|---|---|---|
| LWG 3533 | C++20 |
base
의
const
&
오버로드가 기본 반복자의 복사본을 반환함
|
참조를 반환함 |
| LWG 3593 | C++20 |
base
의
const
&
오버로드가 noexcept가 아닐 수 있음
|
noexcept로 지정됨 |