addFunctor

A functor is an object that behaves as a function, thanks to the overloading of operator (). This allows the encapsulated function to have a state, as opposed to mere C function pointers: this state allows to first setup and parametrize the functor (thanks to its constructor), then to use it as "a lambda function".

Note:
It is especially useful when one has to specify a function A as a parameter for another function B. If B is set so that its argument shall be a functor, then it can take indifferently a simple function or a functor as parameter. The reciprocal would not be true.

Functors are great when one wants to make use of parametrized functions: thanks to the functor's constructor, one can generate numerous different functions at runtime.

( int myAdd ) could be constructed as: Functor * myAdd = new addFunctor( 5 ): myAdd is a dynamically created function.

See also:
Ceylan::Maths::IntToIntFunctor for a complete example.
Note:
Each child class should define following operator: virtual 'returned type' operator() ('parameter') throw()

Generated on Thu Jun 4 20:39:15 2009 for Ceylan by  doxygen 1.5.8