다음을 통해 공유


result_of 클래스

지정된 인수 유형을 사용하는 호출 가능 형식의 반환 형식을 결정합니다. C++14에서 추가되었으며 C++17에서는 더 이상 사용되지 않습니다.

구문

template<class>
struct result_of; // Causes a static assert

template <class Fn, class... ArgTypes>
struct result_of<Fn(ArgTypes...)>;

// Helper type
template<class T>
   using result_of_t = typename result_of<T>::type;

매개 변수

Fn
쿼리할 호출 가능 형식입니다.

ArgTypes
쿼리할 호출 가능 형식에 대한 인수 목록의 형식입니다.

설명

이 템플릿을 사용하여 컴파일 시간에 Fn이 호출 가능한 형식, 함수에 대한 참조 또는 ArgTypes 형식의 Fn인수 목록을 사용하여 호출 가능한 형식에 대한 참조인 결과 형식(ArgTypes)을 결정합니다. 클래스 템플릿의 멤버는 type 평가되지 않은 식 std::invoke(declval<Fn>(), declval<ArgTypes>()...) 이 올바른 형식인 경우 결과 형식의 decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...)) 이름을 지정합니다. 그렇지 않으면 클래스 템플릿에 멤버 type가 없습니다. Fn 형식과 매개 변수 팩 ArgTypes의 모든 형식은 완전한 형식void이거나 알 수 없는 바인딩된 배열이어야 합니다. C++17에서 invoke_result 위해 사용되지 않습니다.

요구 사항

헤더:<type_traits>

네임스페이스: std

참고 항목

<type_traits>
invoke_result 클래스