std::projected_value_t

std::projected_value_t (projection 기본 값 타입)

Projstd::iter_value_t<I>&에 적용한 결과 타입에서 참조·상위 cv 한정을 제거해 값 타입을 얻는 타입 별칭이에요. C++26부터 있어요.

출처: cppreference

본문

<iterator> 헤더에 정의돼 있어요.

template< std::indirectly_readable I,
          std::indirectly_regular_unary_invocable<I> Proj >
using projected_value_t =
    std::remove_cvref_t<std::invoke_result_t<Proj&, std::iter_value_t<I>&>>;

projected_value_t 별칭 템플릿은 Projstd::iter_value_t<I>&에 적용한 결과 타입에서 참조와 상위 cv 한정을 제거해 값 타입을 얻어요. projected_value_tranges::contains 같은 일부 알고리즘의 기본 값 타입을 결정하는 데 쓰여요.

템플릿 매개변수

  • I — indirectly readable 타입
  • ProjI의 값 타입에 대한 lvalue 참조에 적용되는 projection

참고

특성 매크로 __cpp_lib_algorithm_default_value_type은 C++26에서 202403L이에요(알고리즘 값 기본 템플릿 타입에 std::projected_value_t 사용).

더 알아보기 (Learn more)

cppreference