result_of Sınıfı
Belirtilen bağımsız değişken türlerini alan çağrılabilen türün dönüş türünü belirler. C++14'te eklendi, C++17'de kullanım dışı bırakıldı.
Sözdizimi
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;
Parametreler
Fn
Sorgulanabilen çağrılabilen tür.
ArgTypes
Sorgulanabilen tür için bağımsız değişken listesinin türleri.
Açıklamalar
Derleme zamanında Fn'nin Fn
çağrılabilir bir tür, işlev başvurusu veya çağrılabilir tür başvurusu olduğu, ArgTypes'daki türlerin bağımsız değişken listesi kullanılarak çağrılan sonuç türünü (ArgTypes
) belirlemek için bu şablonu kullanın. type
Sınıf şablonunun üyesi, değerlendirilmemiş ifade std::invoke(declval<Fn>(), declval<ArgTypes>()...)
iyi biçimlendirilmişse sonuç türünü decltype(std::invoke(declval<Fn>(), declval<ArgTypes>()...))
adlandırın. Aksi takdirde, sınıf şablonunun üyesi type
yoktur. ArgTypes parametre paketindeki Fn türü ve tüm türler tam türler, void
veya bilinmeyen bağlı diziler olmalıdır. C++17'de invoke_result için kullanım dışı bırakıldı.
Gereksinimler
Üst Bilgi:<type_traits>
Ad alanı: std