AMDG Robert Jones wrote:
Yes, the logic of that is undeniable, so I'm going to backtrack a bit as somewhere my understanding has gone astray.
What I think I know:
* That boost::lambda::bind( ) creates 'conformant' functors.
It depends on what you mean by conformant. Algorithms like for_each do not require these typedefs. Adapters like not1 do. If you need to adapt an arbitrary function object, you're safer using !boost::bind<bool>(pred) instead of std::not1. This will also work with function pointers. (Which std::not1 doesn't handle)
What I've assumed from what I know:
* That 'conformant' includes defining the argument_type typedef
Again, it depends on what you mean by conformant.
* That what is true for bind is also true lambda expressions.
Meaning lambda::bind? The result of lambda::bind /is a/ lambda expression. In Christ, Steven Watanabe