Using Function Objects (Functors) in STL / C++

Generically, function objects (or functors) are class instances whose member function operator() has been defined. This member function allows the object to be used with the same syntax as a regular function call, and therefore its type can be used as template parameter when a generic function type is expected.

So why not just use straight function calls? Continue reading