id summary reporter owner description type status milestone component version severity resolution keywords cc 4569 [patch] fusion::unfused reusability / perfect forwarding anonymous t_schwinger "attached is a patch to unfused.hpp, used by fusion::make_unfused. what it does: * ""fused"" currently forces you to store a function object in order to use the ""unfusing"" interface. this patch makes the interface of unfused reusable by other classes, by introducing a CRTP class ""unfuse_interface"", that is used by unfused. simplified example: {{{ class unfused : unfused_interface{ private: friend class unfused_interface; result call(Args &args){ //unfused::operator()(...) was called. args is a sequence //of the passed arguments return stored_fused_functor(args); } Function stored_fused_functor; }; }}} * perfect forwarding: ""unfused"" only takes non-const references as arguments. this patch changes that to the compromise of boost::bind(): perfect forwarding for up to 2 arguments, beyond that either all arguments are const refs, or all arguments are non-const refs. " Patches new To Be Determined fusion Boost 1.44.0 Problem