Boost C++ Libraries: Ticket #2240: Move placeholders into the boost::placeholders namespace https://svn.boost.org/trac10/ticket/2240 en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2240 Trac 1.4.3 Peter Dimov Thu, 21 Aug 2008 15:25:09 GMT status changed https://svn.boost.org/trac10/ticket/2240#comment:1 https://svn.boost.org/trac10/ticket/2240#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">assigned</span> </li> </ul> Ticket Peter Dimov Sat, 28 Feb 2009 17:02:18 GMT milestone changed https://svn.boost.org/trac10/ticket/2240#comment:2 https://svn.boost.org/trac10/ticket/2240#comment:2 <ul> <li><strong>milestone</strong> <span class="trac-field-old">Boost 1.37.0</span> → <span class="trac-field-new">To Be Determined</span> </li> </ul> Ticket brwarner@… Wed, 30 Jun 2010 18:03:53 GMT <link>https://svn.boost.org/trac10/ticket/2240#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2240#comment:3</guid> <description> <p> I agree with this response, when using TR1 you can not use "using namespace std::placeholders" since it conflicts with the boost placeholders which are global. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Thu, 24 Feb 2011 22:09:24 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/2240#comment:4 https://svn.boost.org/trac10/ticket/2240#comment:4 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">new</span> </li> </ul> Ticket brwarner@… Thu, 24 Feb 2011 22:20:37 GMT <link>https://svn.boost.org/trac10/ticket/2240#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2240#comment:5</guid> <description> <p> What is the current status with this issue? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>tliang</dc:creator> <pubDate>Fri, 09 Dec 2011 16:43:39 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2240#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2240#comment:6</guid> <description> <p> #including &lt;boost/bind/placeholders.hpp&gt; breaks code that uses the new std::placeholders. </p> </description> <category>Ticket</category> </item> <item> <author>Kohei Takahashi <flast@…></author> <pubDate>Mon, 13 Aug 2012 00:01:33 GMT</pubDate> <title>cc set https://svn.boost.org/trac10/ticket/2240#comment:7 https://svn.boost.org/trac10/ticket/2240#comment:7 <ul> <li><strong>cc</strong> <span class="trac-author">flast@…</span> added </li> </ul> <p> +1 </p> Ticket Nana Sakisaka <n.sakisaka@…> Wed, 12 Dec 2012 03:15:56 GMT cc changed https://svn.boost.org/trac10/ticket/2240#comment:8 https://svn.boost.org/trac10/ticket/2240#comment:8 <ul> <li><strong>cc</strong> <span class="trac-author">n.sakisaka@…</span> added </li> </ul> <p> +1, I think that it is highly important to fit the new spec of C++11. </p> Ticket Nana Sakisaka <n.sakisaka@…> Wed, 12 Dec 2012 03:17:16 GMT version changed https://svn.boost.org/trac10/ticket/2240#comment:9 https://svn.boost.org/trac10/ticket/2240#comment:9 <ul> <li><strong>version</strong> <span class="trac-field-old">Boost 1.36.0</span> → <span class="trac-field-new">Boost Development Trunk</span> </li> </ul> Ticket anonymous Mon, 17 Dec 2012 14:58:29 GMT <link>https://svn.boost.org/trac10/ticket/2240#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2240#comment:10</guid> <description> <p> +1 They are actually worse than global, they are in an unnamed namespace, so even bringing the std::placeholders to the local workspace doesn't work. The only sensible workaround is to overload std::is_placeholder so that it works with boost placeholders, then use boost::placeholders everywhere. Do you think we could have this overload in boost itself? The following works great: </p> <pre class="wiki">namespace std { template&lt;int n&gt; struct is_placeholder&lt;boost::arg&lt;n&gt;&gt; : public integral_constant&lt;int,n&gt; {}; template&lt;int n&gt; struct is_placeholder&lt;const boost::arg&lt;n&gt;&gt; : public integral_constant&lt;int,n&gt; {}; /*namespace std*/ } </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>bret.kuhns</dc:creator> <pubDate>Wed, 29 Jan 2014 16:41:46 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/2240#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/2240#comment:11</guid> <description> <p> +1 this is very frustrating and requires a lot of disambiguation for something that should have always been in its own namespace to avoid these problems. Even better, argument-dependent lookup causes the boost placeholders in the inlined namespace to pull boost::bind as resolution candidate even though <code>using namespace boost;</code> never appears in my project (I do use the <code>std</code> namespace, however). </p> <p> This is nasty, and confusing. </p> </description> <category>Ticket</category> </item> </channel> </rss>