ranges_begin

ranges_begin (범위 시작 반복자)

std::ranges::begin은 인자의 첫 번째 요소에 대한 반복자를 반환하는 커스터마이제이션 포인트 객체예요. C++20부터 사용할 수 있어요.

출처: cppreference

본문

<ranges> 헤더에 정의되어 있고, <iterator> 헤더에도 정의돼요.

inline namespace /* unspecified */ {
    inline constexpr /* unspecified */ begin = /* unspecified */;
}

(since C++20) (customization point object)

호출 시그니처:

template< class T >
    requires /* see below */
constexpr std::input_or_output_iterator auto begin( T&& t );

(since C++20)

인자의 첫 번째 요소에 대한 반복자를 반환해요.

인자가 배열이면 t + 0을 반환하고, t.begin()이 유효하면 그것을 반환하며, 그 외에는 begin(t)을 반환해요.

참고 (Notes)

ranges::begin은 인자가 rvalue인 소유 컨테이너(std::vector 등)에 대해서는 유효하지 않게 만들어져, 매달린 반복자를 반환하는 것을 막아요.

더 알아보기 (Learn more)

cppreference