A function object (function-like object or functor) is a an object with an application operator, operator()