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 접근 포인터를 반환해요.

더 알아보기 (Learn more)

cppreference