Namespaces
Variants

std::ranges::common_view<V>::end

cppreference.net에서
 
 
범위 라이브러리
범위 어댑터
 
 
constexpr auto end() requires (!/*simple-view*/<V>);
(1) (C++20부터)
constexpr auto end() const requires ranges::range<const V>;
(2) (C++20부터)
1) 의 끝을 나타내는 반복자를 반환합니다.common_view, 즉:\n
  • ranges::begin(base_) + ranges::distance(base_), 만약 ranges::random_access_range<V>와 ranges::sized_range<V>가 모두 충족되면,
  • std::common_iterator<ranges::iterator_t<V>, ranges::sentinel_t<V>>(ranges::end(base_)) 그렇지 않으면.
2) 과 동일하지만, (1), 하지만 V는 const로 한정됩니다.

반환값

기본 뷰의 끝을 나타내는 반복자.

예제

#include <iostream>
#include <numeric>
#include <ranges>
int main()
{
    constexpr int n{4};
    constexpr auto v1 = std::views::iota(1)
                      | std::views::take(n)
                      | std::views::common
                      ;
    constexpr auto v2 = std::views::iota(2)
                      | std::views::take(n)
                      ;
    const int product = std::inner_product(v1.begin(), v1.end(),
                                           v2.begin(),
                                           0);
    std::cout << product << '\n';
}

출력:

40

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 4012 C++20 non-const overload missed simple-view check 추가됨

참고 항목

시작을 가리키는 반복자를 반환합니다
(public member function)
범위의 시작을 가리키는 반복자를 반환합니다
(customization point object)
범위의 끝을 나타내는 sentinel을 반환합니다
(customization point object)