diff -bur boost_1_60_0/libs/container/src/pool_resource.cpp boost_1_60_0_patched/libs/container/src/pool_resource.cpp
|
old
|
new
|
|
| 32 | 32 | class pool_data_t |
| 33 | 33 | : public block_slist_base<> |
| 34 | 34 | { |
| 35 | | typedef block_slist_base<> block_slist_base; |
| | 35 | typedef block_slist_base<> block_slist_base_t; |
| 36 | 36 | |
| 37 | 37 | public: |
| 38 | 38 | explicit pool_data_t(std::size_t initial_blocks_per_chunk) |
| 39 | | : block_slist_base(), next_blocks_per_chunk(initial_blocks_per_chunk) |
| | 39 | : block_slist_base_t(), next_blocks_per_chunk(initial_blocks_per_chunk) |
| 40 | 40 | { slist_algo::init_header(&free_slist); } |
| 41 | 41 | |
| 42 | 42 | void *allocate_block() BOOST_NOEXCEPT |
| … |
… |
|
| 59 | 59 | void release(memory_resource &upstream) |
| 60 | 60 | { |
| 61 | 61 | slist_algo::init_header(&free_slist); |
| 62 | | this->block_slist_base::release(upstream); |
| | 62 | this->block_slist_base_t::release(upstream); |
| 63 | 63 | next_blocks_per_chunk = pool_options_minimum_max_blocks_per_chunk; |
| 64 | 64 | } |
| 65 | 65 | |
| … |
… |
|
| 72 | 72 | |
| 73 | 73 | //Minimum block size is at least max_align, so all pools allocate sizes that are multiple of max_align, |
| 74 | 74 | //meaning that all blocks are max_align-aligned. |
| 75 | | char *p = static_cast<char *>(block_slist_base::allocate(blocks_per_chunk*pool_block, mr)); |
| | 75 | char *p = static_cast<char *>(block_slist_base_t::allocate(blocks_per_chunk*pool_block, mr)); |
| 76 | 76 | |
| 77 | 77 | //Create header types. This is no-throw |
| 78 | 78 | for(std::size_t i = 0, max = blocks_per_chunk; i != max; ++i){ |