Defined in header <functional> template< class >
class function; /* undefined */ (since C++11) template< class R, class... Args >
class function<R(Args...)> (since C++11)
Class template std::function is a general-purpose polymorphic function wrapper. Instances of std::function can store, copy, and invoke any Callable target -- functions, lambda expressions, bind expressions, or other function objects, as well as pointers to member functions and point