Unordered: Fix namespaces for renaming in bcp. Refs #6905.

[SVN r78491]
This commit is contained in:
Daniel James
2012-05-17 06:20:55 +00:00
parent d863f17673
commit 6031b66f99
2 changed files with 11 additions and 8 deletions

View File

@ -186,6 +186,9 @@ C++11 support has resulted in some breaking changes:
Fix some Sun specific code. Fix some Sun specific code.
* [@https://svn.boost.org/trac/boost/ticket/6190 Ticket 6190]: * [@https://svn.boost.org/trac/boost/ticket/6190 Ticket 6190]:
Avoid gcc's `-Wshadow` warning. 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 * 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 collisions quite probable (e.g. multiples of 5 are very common because
we used base 10). we used base 10).

View File

@ -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_) \ # define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE(n, namespace_) \
template<typename T> \ template<typename T> \
void construct_from_tuple(T* ptr, namespace_::tuple<>) \ void construct_from_tuple(T* ptr, namespace_ tuple<>) \
{ \ { \
new ((void*) ptr) T(); \ 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_) \ # define BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE_IMPL(z, n, namespace_) \
template<typename T, BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \ template<typename T, BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
void construct_from_tuple(T* ptr, \ void construct_from_tuple(T* ptr, \
namespace_::tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x) \ namespace_ tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x) \
{ \ { \
new ((void*) ptr) T( \ new ((void*) ptr) T( \
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \ 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_) \ # define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_) \
namespace_::get<n>(x) namespace_ get<n>(x)
#else #else
@ -229,7 +229,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS,
template<typename T> \ template<typename T> \
void construct_from_tuple_impl( \ void construct_from_tuple_impl( \
boost::unordered::detail::length<0>, T* ptr, \ boost::unordered::detail::length<0>, T* ptr, \
namespace_::tuple<>) \ namespace_ tuple<>) \
{ \ { \
new ((void*) ptr) T(); \ new ((void*) ptr) T(); \
} \ } \
@ -241,7 +241,7 @@ BOOST_PP_REPEAT_FROM_TO(1, BOOST_UNORDERED_EMPLACE_LIMIT, BOOST_UNORDERED_EARGS,
template<typename T, BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \ template<typename T, BOOST_PP_ENUM_PARAMS_Z(z, n, typename A)> \
void construct_from_tuple_impl( \ void construct_from_tuple_impl( \
boost::unordered::detail::length<n>, T* ptr, \ boost::unordered::detail::length<n>, T* ptr, \
namespace_::tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x) \ namespace_ tuple<BOOST_PP_ENUM_PARAMS_Z(z, n, A)> const& x) \
{ \ { \
new ((void*) ptr) T( \ new ((void*) ptr) T( \
BOOST_PP_ENUM_##z(n, BOOST_UNORDERED_GET_TUPLE_ARG, namespace_) \ 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_) \ # define BOOST_UNORDERED_GET_TUPLE_ARG(z, n, namespace_) \
namespace_::get<n>(x) namespace_ get<n>(x)
#endif #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) #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 #endif
#undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE #undef BOOST_UNORDERED_CONSTRUCT_FROM_TUPLE