ranges_data
ranges_data (범위 데이터 포인터)
std::ranges::data은 연속 범위의 첫 번째 요소에 대한 포인터를 반환하는 커스터마이제이션 포인트 객체예요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<ranges> 헤더에 정의되어 있고, <iterator> 헤더에도 정의돼요.
inline namespace /* unspecified */ {
inline constexpr /* unspecified */ data = /* unspecified */;
}
(since C++20) (customization point object)
호출 시그니처:
template< class T >
requires /* see below */
constexpr std::remove_reference_t<
ranges::range_reference_t<T>>* data( T&& t );
(since C++20)
연속 범위의 첫 번째 요소에 대한 포인터를 반환해요.
- T가 배열이면
t + 0을 반환해요. t.data()가 valid하다면 그 결과를 반환해요.- 그 외에는
data(t)을 반환해요.
참고 (Notes)
ranges::data는 contiguous_range에 대해서만 유효해요. cdata는 const 접근 포인터를 반환해요.