I may be misunderstanding as the boost::function code is tricky to follow
but it seems to me that the function contructor takes the functor it is
passed by value rather than by reference.
This requires the functor to be copyable. In my case I'm trying to pass a
functor as its abstract supertype which prevents copying. Is it not
possible to take the functor my reference, thereby removing the need for
copying?
The constructor in question appears in function_template.hpp at line 1056
in version 1.40.0:
Summarised:
template<typename R BOOST_FUNCTION_COMMA
BOOST_FUNCTION_TEMPLATE_PARMS>
class function