Namespaces
Variants

std::ranges::common_view<V>::begin

cppreference.net에서 제공
 
 
Ranges 라이브러리
Range 어댑터
 
 
constexpr auto begin() requires (!/*simple_view*/<V>);
(1) (C++20부터)
constexpr auto begin() const requires range<const V>;
(2) (C++20부터)
1) common_view의 첫 번째 요소를 가리키는 반복자를 반환합니다. 즉:
  • ranges::begin(base_), 만약 ranges::random_access_range<V>와 ranges::sized_range<V>이 모두 만족된다면,
  • std::common_iterator<ranges::iterator_t<V>, ranges::sentinel_t<V>>(ranges::begin(base_)) 그렇지 않으면.
2) (1)과 동일하지만, V가 const로 한정됩니다.

반환값

기본 뷰의 시작을 가리키는 반복자.

예제

#include <iostream>
#include <numeric>
#include <ranges>
#include <string_view>
int main()
{
    constexpr auto common = std::views::iota(1)
                          | std::views::take(3)
                          | std::views::common
                          ;
    for (int i{}; int e : common)
        std::cout << (i++ ? " + " : "") << e;
    std::cout << " = " << std::accumulate(common.begin(), common.end(), 0) << '\n';
}

출력:

1 + 2 + 3 = 6

결함 보고서

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

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

참고 항목

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