aboutsummaryrefslogtreecommitdiffstats
path: root/vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp')
-rw-r--r--vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp b/vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp
index 9085e32db6b..514267b0a85 100644
--- a/vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp
+++ b/vespalib/src/vespa/vespalib/datastore/dynamic_array_buffer_type.hpp
@@ -19,14 +19,21 @@ template <typename ElemT>
DynamicArrayBufferType<ElemT>::~DynamicArrayBufferType() = default;
template <typename ElemT>
-uint32_t
-DynamicArrayBufferType<ElemT>::calc_entry_size(uint32_t array_size) noexcept
+size_t
+DynamicArrayBufferType<ElemT>::calc_entry_size(size_t array_size) noexcept
{
Aligner aligner(std::max(alignof(uint32_t), alignof(ElemType)));
return aligner.align(sizeof(ElemType) * array_size + sizeof(uint32_t));
}
template <typename ElemT>
+size_t
+DynamicArrayBufferType<ElemT>::calc_array_size(size_t entry_size) noexcept
+{
+ return (entry_size - sizeof(uint32_t)) / sizeof(ElemType);
+}
+
+template <typename ElemT>
void
DynamicArrayBufferType<ElemT>::destroy_entries(void* buffer, EntryCount num_entries)
{