fix down-sizing in resize operation
This commit is contained in:
		
							parent
							
								
									0592897859
								
							
						
					
					
						commit
						480f70c049
					
				| @ -234,11 +234,14 @@ class DeallocatingVector | |||||||
|             } |             } | ||||||
|         } |         } | ||||||
|         else |         else | ||||||
|         { |         {   // down-size
 | ||||||
|             const std::size_t number_of_necessary_buckets = 1 + (new_size / ELEMENTS_PER_BLOCK); |             const std::size_t number_of_necessary_buckets = 1 + (new_size / ELEMENTS_PER_BLOCK); | ||||||
|             for (auto bucket : bucket_list) |             for (auto bucket_index : boost::irange(number_of_necessary_buckets, bucket_list.size())) | ||||||
|             { |             { | ||||||
|                 delete[] bucket; |                 if (nullptr != bucket_list[bucket_index]) | ||||||
|  |                 { | ||||||
|  |                     delete[] bucket_list[bucket_index]; | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|             bucket_list.resize(number_of_necessary_buckets); |             bucket_list.resize(number_of_necessary_buckets); | ||||||
|         } |         } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user