diff -bur boost_1_60_0/libs/container/src/pool_resource.cpp boost_1_60_0_patched/libs/container/src/pool_resource.cpp --- boost_1_60_0/libs/container/src/pool_resource.cpp 2015-11-06 12:49:55.000000000 -0800 +++ boost_1_60_0_patched/libs/container/src/pool_resource.cpp 2015-12-22 07:54:36.202131121 -0800 @@ -32,11 +32,11 @@ class pool_data_t : public block_slist_base<> { - typedef block_slist_base<> block_slist_base; + typedef block_slist_base<> block_slist_base_t; public: explicit pool_data_t(std::size_t initial_blocks_per_chunk) - : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk) + : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk) { slist_algo::init_header(&free_slist); } void *allocate_block() BOOST_NOEXCEPT @@ -59,7 +59,7 @@ void release(memory_resource &upstream) { slist_algo::init_header(&free_slist); - this->block_slist_base::release(upstream); + this->block_slist_base_t::release(upstream); next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk; } @@ -72,7 +72,7 @@ //Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align, //meaning that all blocks are max_align-aligned. - char *p = static_cast(block_slist_base::allocate(blocks_per_chunk*pool_block, mr)); + char *p = static_cast(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr)); //Create header types. This is no-throw for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){