Sdílet prostřednictvím


result_of – třída

Určuje návratový typ volatelného typu, který přebírá zadané typy argumentů. Přidáno v jazyce C++14, zastaralé v jazyce C++17.

Syntaxe

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
Volatelný typ pro dotaz.

ArgTypes
Typy seznamu argumentů k volatelnému typu, který se má dotazovat.

Poznámky

Pomocí této šablony můžete určit v době kompilace typ výsledku Fn(), kde Fn je volatelný typ, odkaz na funkci nebo odkaz na volatelný typ, vyvolaný pomocí seznamu argumentů typů v ArgTypesArgTypes. Člen type šablony třídy pojmenuje typ decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...)) výsledku, pokud je nehodnocený výraz std::invoke(declval<Fn>(), declval<ArgTypes>()...) správně vytvořen. V opačném případě šablona třídy nemá žádný člen type. Typ Fn a všechny typy v sadě parametrů ArgTypes musí být úplné typy, voidnebo pole neznámé vazby. Zastaralé ve prospěch invoke_result v jazyce C++17.

Požadavky

Header:<type_traits>

Namespace: std

Viz také

<type_traits>
invoke_result – třída