Boost C++ Libraries: Ticket #5057: boost/algorithm/string/find.hpp name-clashes with boost/range/algorithm/find.hpp https://svn.boost.org/trac10/ticket/5057 <p> Both provide a boost::find with all parameters being templates. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5057 Trac 1.4.3 aschoedl@… Mon, 10 Jan 2011 17:36:51 GMT <link>https://svn.boost.org/trac10/ticket/5057#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5057#comment:1</guid> <description> <p> IMO, boost::range::find should be available as boost::find, while the boost::algorithms::string:find should be changed, because the Finder concept there is farther away from the standard. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Neil Groves</dc:creator> <pubDate>Thu, 17 Mar 2011 00:10:56 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5057#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5057#comment:2</guid> <description> <p> I'm slightly confused by this report. boost::range::find is available as boost::find due to the using range::find in boost/range/algorithm/find.hpp. </p> <p> I have used the idiom of putting the algorithms in the range namespace and then bringing the functions into the boost namespace. This allows disambiguation when clashes occur with Boost.Algorithm. </p> <p> IIRC I modified Boost.Algorithm to use the boost::algorithm namespace and pull the functions into the boost namespace with a using clause. </p> <p> Is this solution not working for you in a use-case I haven't considered? Or are you suggesting that Boost.Algorithm should break backward compatibility to remove the collision when both headers are Boost.Range and Boost.Algorithm headers are included? </p> <p> I personally believe that there is merit in removing Boost.Algorithm find from the boost namespace for exactly the reason you outlined, namely that the semantic doesn't gel with the standard. However, I believe this would be unacceptably inconsistent without moving find_first, ifind_first, find_last, ifind_last, find_nth, ifind_nth, find_head, find_tail, find_token too. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Neil Groves</dc:creator> <pubDate>Sun, 22 May 2011 21:06:17 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/5057#comment:3 https://svn.boost.org/trac10/ticket/5057#comment:3 <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">invalid</span> </li> </ul> <p> Marked as invalid due to a lack of response to my earlier questions. Any change should be made to Boost.Algorithm. </p> Ticket