result_of — Klasa

Określa typ zwracany typu wywoływanego, który przyjmuje określone typy argumentów. Dodano w języku C++14 przestarzałym w języku C++17.

Składnia

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;

Parametry

Fn
Wywoływany typ zapytania.

ArgTypes
Typy listy argumentów do typu wywołującego zapytania.

Uwagi

Użyj tego szablonu, aby określić w czasie kompilacji typ Fnwyniku (ArgTypes), gdzie Fn jest typem wywoływanym, odwołaniem do funkcji lub odwołaniem do wywoływanego typu wywoływanego przy użyciu listy argumentów typów w ArgTypes. Składowa type szablonu klasy nazywa typ decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...)) wyniku, jeśli nieowarte wyrażenie std::invoke(declval<Fn>(), declval<ArgTypes>()...) jest poprawnie sformułowane. W przeciwnym razie szablon klasy nie ma elementu członkowskiego type. Typ Fn i wszystkie typy w pakiecie parametrów ArgTypes muszą być kompletnymi typami , voidlub tablicami nieznanej granicy. Przestarzałe na rzecz invoke_result w języku C++17.

Wymagania

Nagłówek:<type_traits>

Przestrzeń nazw: std

Zobacz też

<type_traits>
invoke_result, klasa