|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Old binders and adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
(until C++17) | ||||
function::target_type | ||||
| Non-member functions | ||||
(until C++20) | ||||
| Helper classes | ||||
(until C++17) | ||||
| Deduction guides(C++17) |
conststd::type_info& target_type()constnoexcept; | (since C++11) | |
Returns the type of the stored function.
Contents |
(none)
typeid(T) if the stored function has typeT, otherwisetypeid(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 notstd::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 availstd::cout<<std::function{g}.target_type().name()<<'\n';}
Possible output:
PFiiEZ4mainEUliE_PFvdE
| obtains a pointer to the stored target (public member function)[edit] | |
| contains some type’s information, the class returned by the typeid operator (class)[edit] | |
| typeid | queries information of a type, returning astd::type_info object representing the type(operator) |