diff --git a/doc/changes.qbk b/doc/changes.qbk index c5cb963c..239552b2 100644 --- a/doc/changes.qbk +++ b/doc/changes.qbk @@ -186,6 +186,9 @@ C++11 support has resulted in some breaking changes: Fix some Sun specific code. * [@https://svn.boost.org/trac/boost/ticket/6190 Ticket 6190]: Avoid gcc's `-Wshadow` warning. +* [@https://svn.boost.org/trac/boost/ticket/6905 Ticket 6905]: + Make namespaces in macros compatible with `bcp` custom namespaces. + Fixed by Luke Elliott. * Remove some of the smaller prime number of buckets, as they may make collisions quite probable (e.g. multiples of 5 are very common because we used base 10). diff --git a/include/boost/unordered/detail/emplace_args.hpp b/include/boost/unordered/detail/emplace_args.hpp index 60b6cb9c..a26dd4ef 100644 --- a/include/boost/unordered/detail/emplace_args.hpp +++ b/include/boost/unordered/detail/emplace_args.hpp @@ -200,7 +200,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS, # define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_) \ template \ - void construct_from_tuple(T* ptr, namespace_::tuple<>) \ + void construct_from_tuple(T* ptr, namespace_ tuple<>) \ { \ new ((void*) ptr) T(); \ } \ @@ -211,7 +211,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS, # define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_) \ template \ void construct_from_tuple(T* ptr, \ - namespace_::tuple const& x) \ + namespace_ tuple const& x) \ { \ new ((void*) ptr) T( \ BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \ @@ -219,7 +219,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS, } # define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_) \ - namespace_::get(x) + namespace_ get(x) #else @@ -229,7 +229,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS, template \ void construct_from_tuple_impl( \ boost::unordered::detail::length<0>, T* ptr, \ - namespace_::tuple<>) \ + namespace_ tuple<>) \ { \ new ((void*) ptr) T(); \ } \ @@ -241,7 +241,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS, template \ void construct_from_tuple_impl( \ boost::unordered::detail::length, T* ptr, \ - namespace_::tuple const& x) \ + namespace_ tuple const& x) \ { \ new ((void*) ptr) T( \ BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \ @@ -249,14 +249,14 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS, } # define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_) \ - namespace_::get(x) + namespace_ get(x) #endif -BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, boost) +BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, boost::) #if !defined(__SUNPRO_CC) && !defined(BOOST_NO_0X_HDR_TUPLE) - BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, std) + BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(10, std::) #endif #undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE