const std::type_info& target_type() const noexcept; | (since C++11) |
Returns the type of the stored function.
(none).
typeid(T)
if the stored function has type T
, otherwise typeid(void)
.
#include <functional> #include <iostream> int f(int a) { return -a; } void g(double) {} int main() { // fn1 and fn2 have the same type, but their targets do not std::function<int(int)> fn1(f), fn2([](int a) {return -a;}); std::cout << fn1.target_type().name() << '\n' << fn2.target_type().name() << '\n'; // since C++17 deduction guides (CTAD) can avail std::cout << std::function{g}.target_type().name() << '\n'; }
Possible output:
PFiiE Z4mainEUliE_ PFvdE
obtains a pointer to the stored target (public member function) |
|
typeid | Queries information of a type, returning a std::type_info object representing the type. |
contains some type's information, generated by the implementation. This is the class returned by the typeid operator. (class) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/utility/functional/function/target_type