|
|
@ -33,7 +33,8 @@ struct flat_object_map { |
|
|
auto& value = iter->second; |
|
|
auto& value = iter->second; |
|
|
if (is_new) { |
|
|
if (is_new) { |
|
|
value.refcount = 1; |
|
|
value.refcount = 1; |
|
|
value.object_pointer = mi_aligned_alloc(alignof(V), sizeof(V)); |
|
|
V* new_value = static_cast<V*>(mi_aligned_alloc(alignof(V), sizeof(V))); |
|
|
|
|
|
value.object_pointer = make_pointer_wrapper(new_value); |
|
|
if constexpr (std::is_same_v<V, K>) |
|
|
if constexpr (std::is_same_v<V, K>) |
|
|
*value.object_pointer = key; |
|
|
*value.object_pointer = key; |
|
|
else |
|
|
else |
|
|
|