result_of — Klasaresult_of Class

Określa zwracany typ wywoływanego typu, który przyjmuje określone typy argumentów.Determines the return type of the callable type that takes the specified argument types. Dodano w języku C++ 14, przestarzałe w języku C++ 17.Added in C++14, deprecated in C++17.

SkładniaSyntax

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;

ParametryParameters

FnFn
Typ możliwy do zapytania.The callable type to query.

ArgTypesArgTypes
Typy listy argumentów dla wywoływanego typu do zapytania.The types of the argument list to the callable type to query.

UwagiRemarks

Użyj tego szablonu, aby określić w czasie kompilacji typ wyniku Fn ( ArgTypes ), gdzie Fn jest typem możliwym do wywołania, odwołaniem do funkcji lub odwołaniem do żądanego typu, wywoływane przy użyciu listy argumentów typów w ArgTypes.Use this template to determine at compile time the result type of Fn(ArgTypes), where Fn is a callable type, reference to function, or reference to callable type, invoked using an argument list of the types in ArgTypes. typeElement członkowski szablonu klasy nazywa typ wyniku, decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...)) Jeśli wyrażenie nieoceniane std::invoke(declval<Fn>(), declval<ArgTypes>()...) jest poprawnie sformułowane.The type member of the class template names the result type of decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...)) if the unevaluated expression std::invoke(declval<Fn>(), declval<ArgTypes>()...) is well-formed. W przeciwnym razie szablon klasy nie ma żadnego elementu członkowskiego type .Otherwise, the class template has no member type. Typ Fn i wszystkie typy w pakiecie parametrów ArgTypes muszą być kompletnymi typami, void lub tablicami nieznanego powiązania.The type Fn and all types in the parameter pack ArgTypes must be complete types, void, or arrays of unknown bound. Przestarzałe na rzecz invoke_result w języku c++ 17.Deprecated in favor of invoke_result in C++17.

WymaganiaRequirements

Nagłówek:<type_traits>Header: <type_traits>

Przestrzeń nazw: stdNamespace: std

Zobacz teżSee also

<type_traits><type_traits>
invoke_result, klasainvoke_result class