const std::type_info& target_type() const noexcept;
概要
元となる関数の型情報を取得する。
戻り値
呼び出す関数を持っていれば、その関数の型を表すtype_info
オブジェクトを返す。呼び出す関数を持っていなければ、typeid(void)
を返す。
例
#include <iostream>
#include <functional>
struct ident {
int operator()(int x) const
{ return x; }
};
int main()
{
std::function<int(int)> f = ident();
if (f.target_type() == typeid(ident)) {
std::cout << "f has ident" << std::endl;
}
else {
std::cout << "f doesn't have ident" << std::endl;
}
}
出力
f has ident
バージョン
言語
- C++11
処理系
- Clang: 3.0 ✅
- GCC: 4.3.6 ✅
- Visual C++: ??