Inquiring  as to whether this is possible or if there is a better pattern for simulating this behavior...

Is it possible for boost::function to be self referential? I.e. how do I simulate behavior like the following:

typedef boost::function<Func (int)> Func;

A function that does something mutable and then returns the next function to be called or an empty function.

thanks,
Adam