diff options
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.hpp | 11 |
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) { |