diff options
author | Jacques Lucke <jacques@blender.org> | 2021-05-13 13:58:02 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-05-13 13:58:02 +0300 |
commit | 250a5442cf53a7fc435ecc293517e24ef6bcb46f (patch) | |
tree | 0343678322fb9b0bd77a111a91de87be2ec3094d /source/blender/blenlib/tests/BLI_linear_allocator_test.cc | |
parent | df0718875020235fc1ae738fa2f42ea38e5e83ce (diff) |
BLI: add LinearAllocator.construct_array method
Previously, one could allocate an array, but not construct its
elements directly. This method just adds some convenience.
Diffstat (limited to 'source/blender/blenlib/tests/BLI_linear_allocator_test.cc')
-rw-r--r-- | source/blender/blenlib/tests/BLI_linear_allocator_test.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/source/blender/blenlib/tests/BLI_linear_allocator_test.cc b/source/blender/blenlib/tests/BLI_linear_allocator_test.cc index 977e5dba497..0e0145e592a 100644 --- a/source/blender/blenlib/tests/BLI_linear_allocator_test.cc +++ b/source/blender/blenlib/tests/BLI_linear_allocator_test.cc @@ -136,4 +136,17 @@ TEST(linear_allocator, ManyAllocations) } } +TEST(linear_allocator, ConstructArray) +{ + LinearAllocator<> allocator; + MutableSpan<std::string> strings = allocator.construct_array<std::string>(4, "hello"); + EXPECT_EQ(strings[0], "hello"); + EXPECT_EQ(strings[1], "hello"); + EXPECT_EQ(strings[2], "hello"); + EXPECT_EQ(strings[3], "hello"); + for (std::string &string : strings) { + string.~basic_string(); + } +} + } // namespace blender::tests |