
AMDG Daniel Walker wrote:
Actually, I just looked into it, and this wasn't as hard as I thought. So, I can be a little more specific about the needed changes. As a proof of concept, I have attached a patch that allows the following where the bind object is stored directly by boost::function without type erasure.
#include <functional> #include <boost/function.hpp> #include <boost/bind.hpp>
int main() { using namespace boost; function< bind_signature(std::plus<int>,boost::arg<1>,int) > f = bind(std::plus<int>(), _1, 1); }
If you're going to specify all the parameters of the bind expression in the type of the boost::function, you'd be better off just having a metafunction for deducing the return type of bind. In Christ, Steven Watanabe