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