| (1) | (since C++11) | ||
| (2) | (since C++11) |
Returns a pointer to the stored callable function target.
Parameters
(none).
Return value
A pointer to the stored function if target_type
() == typeid(T)
, otherwise a null pointer.
Exceptions
noexcept
specification: noexcept
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | #include <functional> #include <iostream> int f( int , int ) { return 1; } int g( int , int ) { return 2; } void test(std::function< int ( int , int )> const & arg) { std::cout << "test function: " ; if (arg.target<std::plus< int >>()) std::cout << "it is plus\n" ; if (arg.target<std::minus< int >>()) std::cout << "it is minus\n" ; int (* const * ptr)( int , int ) = arg.target< int (*)( int , int )>(); if (ptr && *ptr == f) std::cout << "it is the function f\n" ; if (ptr && *ptr == g) std::cout << "it is the function g\n" ; } int main() { test(std::function< int ( int , int )>(std::plus< int >())); test(std::function< int ( int , int )>(std::minus< int >())); test(std::function< int ( int , int )>(f)); test(std::function< int ( int , int )>(g)); } |
Output:
1 2 3 4 | test function: it is plus test function: it is minus test function: it is the function f test function: it is the function g |
See also
obtains the typeid of the stored target (public member function) |
Please login to continue.