Boost C++ Libraries: Ticket #6911: [Phoenix V3] Add tr1_result_of specialization https://svn.boost.org/trac10/ticket/6911 <p> To make <code>result_of</code> and <code>tr1_result_of</code> equivalent, we have to add specialization of <code>tr1_result_of</code>. (Boost.Phoenix V3 already has specialization of <code>result_of</code>.) </p> <p> Also, it would be nice to avoid specialization of <code>result_of</code>, when we use decltype-based <code>result_of</code>. (As for <code>tr1_result_of</code>, it should be specialized even when decltype-based <code>result_of</code> is used.) </p> <p> So, instead of </p> <pre class="wiki">template &lt;...&gt; struct result_of&lt;F()&gt; { typedef XXXX type; }; </pre><p> we should write </p> <pre class="wiki">#if !defined(BOOST_RESULT_OF_USE_DECLTYPE) || defined(BOOST_NO_DECLTYPE) template &lt;...&gt; struct result_of&lt;F()&gt; { typedef XXXX type; }; #endif template &lt;...&gt; struct tr1_result_of&lt;F()&gt; { typedef XXXX type; }; </pre><p> A quick grep said the following files specialize <code>result_of</code>. </p> <ul><li>phoenix/core/actor.hpp </li><li>phoenix/function/function.hpp </li></ul> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6911 Trac 1.4.3 Kohei Takahashi Wed, 17 Jan 2018 04:26:43 GMT owner changed https://svn.boost.org/trac10/ticket/6911#comment:1 https://svn.boost.org/trac10/ticket/6911#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Thomas Heller</span> to <span class="trac-author">Kohei Takahashi</span> </li> </ul> <p> IMO, those specialization aim for returning non void type on TR1 result_of, so only <code>tr1_result_of</code> specialization is needed. </p> Ticket Michel Morin Wed, 17 Jan 2018 14:30:30 GMT <link>https://svn.boost.org/trac10/ticket/6911#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6911#comment:2</guid> <description> <p> Ah, <code>result_of</code> derives from <code>tr1_result_of</code> even for nullary calls. So the specialization of <code>result_of</code> is verbose. </p> <p> Thanks for the correction! </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Kohei Takahashi</dc:creator> <pubDate>Thu, 18 Jan 2018 00:46:48 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/6911#comment:3 https://svn.boost.org/trac10/ticket/6911#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> <p> Here is candidate patch for fixing this issue, but test is needed. </p> <p> <a class="ext-link" href="https://github.com/boostorg/phoenix/commit/0d1af868ae86ff9ff1e791255af286a25ecf370e"><span class="icon">​</span>https://github.com/boostorg/phoenix/commit/0d1af868ae86ff9ff1e791255af286a25ecf370e</a> </p> Ticket Kohei Takahashi Fri, 19 Jan 2018 19:51:45 GMT milestone changed https://svn.boost.org/trac10/ticket/6911#comment:4 https://svn.boost.org/trac10/ticket/6911#comment:4 <ul> <li><strong>milestone</strong> <span class="trac-field-old">To Be Determined</span> → <span class="trac-field-new">Boost 1.67.0</span> </li> </ul> Ticket