Merge branch '2.0.x-incubating' of github.com:apache/incubator-datasketches-cpp into 2.0.x-incubating
diff --git a/fi/include/frequent_items_sketch_impl.hpp b/fi/include/frequent_items_sketch_impl.hpp
index 91a0152..bb05aa9 100644
--- a/fi/include/frequent_items_sketch_impl.hpp
+++ b/fi/include/frequent_items_sketch_impl.hpp
@@ -313,10 +313,9 @@
typedef typename std::allocator_traits<A>::template rebind_alloc<W> AllocW;
std::vector<W, AllocW> weights(num_items);
is.read((char*)weights.data(), sizeof(W) * num_items);
- items_deleter deleter(num_items, false);
- std::unique_ptr<T, items_deleter> items(A().allocate(num_items), deleter);
+ std::unique_ptr<T, items_deleter> items(A().allocate(num_items), items_deleter(num_items, false));
S().deserialize(is, items.get(), num_items);
- deleter.set_destroy(true); // serde did not throw, so the items must be constructed
+ items.get_deleter().set_destroy(true); // serde did not throw, so the items must be constructed
for (uint32_t i = 0; i < num_items; i++) {
sketch.update(std::move(items.get()[i]), weights[i]);
}
@@ -372,11 +371,10 @@
typedef typename std::allocator_traits<A>::template rebind_alloc<W> AllocW;
std::vector<W, AllocW> weights(num_items);
ptr += copy_from_mem(ptr, weights.data(), sizeof(W) * num_items);
- items_deleter deleter(num_items, false);
- std::unique_ptr<T, items_deleter> items(A().allocate(num_items), deleter);
+ std::unique_ptr<T, items_deleter> items(A().allocate(num_items), items_deleter(num_items, false));
const size_t bytes_remaining = size - (ptr - base);
ptr += S().deserialize(ptr, bytes_remaining, items.get(), num_items);
- deleter.set_destroy(true); // serde did not throw, so the items must be constructed
+ items.get_deleter().set_destroy(true); // serde did not throw, so the items must be constructed
for (uint32_t i = 0; i < num_items; i++) {
sketch.update(std::move(items.get()[i]), weights[i]);
}