Boost C++ Libraries: Ticket #2656: Change boost::tuple::ignore to initialisation rather than assignment to allow pre-compiled headers https://svn.boost.org/trac10/ticket/2656 <p> In the boost tuple library, there is a variable called <em>ignore</em> that can be used in calls to boost::tie(...). Under C++Builder 2007 it is not possible to generate pre-compiled headers when including the appropriate headers to use boost::tie because the <em>ignore</em> variable is assigned on construction using the =operator rather than constructed/initialised. Although this may be about optimising build performance, and I am using an older compiler, I don't think I am requesting a negative change. </p> <pre class="wiki">--- boost/tuple/detail/tuple_basic.hpp (Revision 46808) +++ boost/tuple/detail/tuple_basic.hpp (working copy) @@ -665,7 +665,7 @@ } // namespace detail // "ignore" allows tuple positions to be ignored when using "tie". ---detail::swallow_assign const ignore = detail::swallow_assign(); +++detail::swallow_assign const ignore( detail::swallow_assign() ); // --------------------------------------------------------------------------- // The call_traits for make_tuple </pre><p> I hope this is accepted, </p> <p> Yours, </p> <p> Peter MJ </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2656 Trac 1.4.3 Steven Watanabe Thu, 15 Jan 2009 19:19:52 GMT <link>https://svn.boost.org/trac10/ticket/2656#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2656#comment:1</guid> <description> <p> This doesn't do what you think. </p> <p> detail::swallow_assign const ignore( detail::swallow_assign() ); </p> <p> is a function declaration. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Wed, 09 Jun 2010 19:00:58 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/2656#comment:2 https://svn.boost.org/trac10/ticket/2656#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/62684" title="Use an inline function instead of a static object for ...">[62684]</a>) Use an inline function instead of a static object for boost::tuples::ignore, avoiding problems with the ODR and Borland precompiled headers. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/2656" title="#2656: Patches: Change boost::tuple::ignore to initialisation rather than assignment ... (closed: fixed)">#2656</a> </p> Ticket