Boost C++ Libraries: Ticket #4569: [patch] fusion::unfused reusability / perfect forwarding https://svn.boost.org/trac10/ticket/4569 <p> attached is a patch to unfused.hpp, used by fusion::make_unfused. </p> <p> what it does: </p> <ul><li>"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. </li></ul><p> simplified example: </p> <pre class="wiki"> class unfused : unfused_interface&lt;unfused,...&gt;{ private: friend class unfused_interface; result call(Args &amp;args){ //unfused::operator()(...) was called. args is a sequence //of the passed arguments return stored_fused_functor(args); } Function stored_fused_functor; }; </pre><ul><li>perfect forwarding: </li></ul><p> "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. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4569 Trac 1.4.3 anonymous Thu, 19 Aug 2010 11:30:14 GMT attachment set https://svn.boost.org/trac10/ticket/4569 https://svn.boost.org/trac10/ticket/4569 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">unfused.patch</span> </li> </ul> Ticket anonymous Thu, 19 Aug 2010 11:42:24 GMT type changed https://svn.boost.org/trac10/ticket/4569#comment:1 https://svn.boost.org/trac10/ticket/4569#comment:1 <ul> <li><strong>type</strong> <span class="trac-field-old">Feature Requests</span> → <span class="trac-field-new">Patches</span> </li> </ul> Ticket anonymous Sat, 21 Aug 2010 19:46:58 GMT <link>https://svn.boost.org/trac10/ticket/4569#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4569#comment:2</guid> <description> <p> the "perfect forwarding" part seems to create more problems than it solves, especially regarding result_of instantiations, so if you consider this patch I'd now recommend leaving out the forwarding part. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Joel de Guzman</dc:creator> <pubDate>Fri, 21 Jan 2011 07:58:37 GMT</pubDate> <title>owner changed https://svn.boost.org/trac10/ticket/4569#comment:3 https://svn.boost.org/trac10/ticket/4569#comment:3 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Joel de Guzman</span> to <span class="trac-author">t_schwinger</span> </li> </ul> Ticket