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 등)에 대해서는 유효하지 않게 만들어져, 매달린 반복자를 반환하는 것을 막아요.