a group of related operations that share a common state
an instance of a class that has the function operator, operator(), overloaded
an instance of a class that overloads operator( ), the function call operator
an instance of a class that provides a definition of operator()
an object of a class that implements operator()
an object that encapsulates a single function and can execute it on one or more arguments
an object to which the function call operator can be applied
A function object, often called a functor or functionoid, is a computer programming construct allowing an object to be invoked or called as if it were an ordinary function, usually with the same syntax. The exact meaning may vary among programming languages. A functor used in this manner in computing bears little relation to the term functor as used in the mathematical field of category theory.