Function objects

Function objects

A function object is any object for which the function call operator is defined. C++ provides many built-in function objects as well as support for creation and manipulation of new function objects.

Polymorphic function wrappers

std::function provides support for storing arbitrary function objects.

(C++11)
wraps callable object of any type with specified function call signature
(class templa