diff --git a/include/boost/container/allocator_traits.hpp b/include/boost/container/allocator_traits.hpp index d577df1..a85831f 100644 --- a/include/boost/container/allocator_traits.hpp +++ b/include/boost/container/allocator_traits.hpp @@ -174,14 +174,14 @@ struct allocator_traits #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) //C++11 - template using rebind_alloc = typename boost::intrusive::detail::type_rebinder::type; + template using rebind_alloc = typename boost::intrusive::pointer_rebind::type; template using rebind_traits = allocator_traits< rebind_alloc >; #else // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) //Some workaround for C++03 or C++11 compilers with no template aliases template - struct rebind_alloc : boost::intrusive::detail::type_rebinder::type + struct rebind_alloc : boost::intrusive::pointer_rebind::type { - typedef typename boost::intrusive::detail::type_rebinder::type Base; + typedef typename boost::intrusive::pointer_rebind::type Base; #if !defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES) template rebind_alloc(BOOST_FWD_REF(Args)... args) @@ -201,12 +201,12 @@ struct allocator_traits template struct rebind_traits - : allocator_traits::type> + : allocator_traits::type> {}; #endif // #if !defined(BOOST_NO_CXX11_TEMPLATE_ALIASES) template struct portable_rebind_alloc - { typedef typename boost::intrusive::detail::type_rebinder::type type; }; + { typedef typename boost::intrusive::pointer_rebind::type type; }; #endif //BOOST_CONTAINER_DOXYGEN_INVOKED //! Returns: a.allocate(n) diff --git a/include/boost/container/detail/memory_util.hpp b/include/boost/container/detail/memory_util.hpp index 572d30a..7f055cb 100644 --- a/include/boost/container/detail/memory_util.hpp +++ b/include/boost/container/detail/memory_util.hpp @@ -19,7 +19,7 @@ #include #include -#include +#include #include @@ -50,7 +50,11 @@ #define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME construct #define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_BEGIN namespace boost { namespace container { namespace container_detail { #define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_NS_END }}} -#define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS+1, )) +#ifdef BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_SINGLE_ITERATION +# define BOOST_PP_ITERATION_PARAMS_1 (3, (1, 1, )) +#else +# define BOOST_PP_ITERATION_PARAMS_1 (3, (1, BOOST_CONTAINER_MAX_CONSTRUCTOR_PARAMETERS+1, )) +#endif #include BOOST_PP_ITERATE() #define BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLABLE_WITH_FUNCNAME swap