pw_allocator: add explicit ctad
Use explicit class template argument deduction and freelist_test.cc
because this causes errors in other build environments.
Change-Id: I8304ee9f9dbbcec66e21a322b6cbe9de5b7b1ef2
diff --git a/pw_allocator/freelist_test.cc b/pw_allocator/freelist_test.cc
index 7697155..9a1c5a3 100644
--- a/pw_allocator/freelist_test.cc
+++ b/pw_allocator/freelist_test.cc
@@ -22,11 +22,12 @@
namespace pw::allocator {
-static const std::array<size_t, 8> example_sizes = {
+static const size_t SIZE = 8;
+static const std::array<size_t, SIZE> example_sizes = {
64, 128, 256, 512, 1024, 2048, 4096, 8192};
TEST(FreeList, EmptyListHasNoMembers) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
auto item = list.FindChunk(4);
EXPECT_EQ(item.size(), static_cast<size_t>(0));
@@ -35,7 +36,7 @@
}
TEST(FreeList, CanRetrieveAddedMember) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN = 512;
byte data[kN] = {std::byte(0)};
@@ -49,7 +50,7 @@
}
TEST(FreeList, CanRetrieveAddedMemberForSmallerSize) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN = 512;
byte data[kN] = {std::byte(0)};
@@ -61,7 +62,7 @@
}
TEST(FreeList, CanRemoveItem) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN = 512;
byte data[kN] = {std::byte(0)};
@@ -75,7 +76,7 @@
}
TEST(FreeList, FindReturnsSmallestChunk) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN1 = 512;
constexpr size_t kN2 = 1024;
@@ -101,7 +102,7 @@
TEST(FreeList, FindReturnsCorrectChunkInSameBucket) {
// If we have two values in the same bucket, ensure that the allocation will
// pick an appropriately sized one.
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN1 = 512;
constexpr size_t kN2 = 257;
@@ -119,7 +120,7 @@
TEST(FreeList, FindCanMoveUpThroughBuckets) {
// Ensure that finding a chunk will move up through buckets if no appropriate
// chunks were found in a given bucket
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN1 = 257;
constexpr size_t kN2 = 513;
@@ -138,7 +139,7 @@
}
TEST(FreeList, RemoveUnknownChunkReturnsNotFound) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN = 512;
byte data[kN] = {std::byte(0)};
@@ -150,7 +151,7 @@
}
TEST(FreeList, CanStoreMultipleChunksPerBucket) {
- FreeListBuffer list(example_sizes);
+ FreeListBuffer<SIZE> list(example_sizes);
constexpr size_t kN = 512;
byte data1[kN] = {std::byte(0)};