aboutsummaryrefslogtreecommitdiff
path: root/absl/container/fixed_array_test.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2023-05-26 00:28:00 -0700
committerCopybara-Service <copybara-worker@google.com>2023-05-26 00:28:44 -0700
commit0f718c568b448005bcb6718e7c0f5b6420ace413 (patch)
treea81522c7cdb19b1469cb873df72a07789305620e /absl/container/fixed_array_test.cc
parent88cc63ef739d83277b492e881be72e9069fcb1fe (diff)
downloadabseil-0f718c568b448005bcb6718e7c0f5b6420ace413.tar.gz
abseil-0f718c568b448005bcb6718e7c0f5b6420ace413.tar.bz2
abseil-0f718c568b448005bcb6718e7c0f5b6420ace413.zip
Add support for stateful allocators to absl::FixedArray.
PiperOrigin-RevId: 535534819 Change-Id: Iccf8da3e0b084131e4c0dba205f3e190d3a66f4e
Diffstat (limited to 'absl/container/fixed_array_test.cc')
-rw-r--r--absl/container/fixed_array_test.cc16
1 files changed, 16 insertions, 0 deletions
diff --git a/absl/container/fixed_array_test.cc b/absl/container/fixed_array_test.cc
index 49598e7a..9dbf2a84 100644
--- a/absl/container/fixed_array_test.cc
+++ b/absl/container/fixed_array_test.cc
@@ -768,6 +768,22 @@ TEST(AllocatorSupportTest, SizeValAllocConstructor) {
}
}
+TEST(AllocatorSupportTest, PropagatesStatefulAllocator) {
+ constexpr size_t inlined_size = 4;
+ using Alloc = absl::container_internal::CountingAllocator<int>;
+ using AllocFxdArr = absl::FixedArray<int, inlined_size, Alloc>;
+
+ auto len = inlined_size * 2;
+ auto val = 0;
+ int64_t allocated = 0;
+ AllocFxdArr arr(len, val, Alloc(&allocated));
+
+ EXPECT_EQ(allocated, len * sizeof(int));
+
+ AllocFxdArr copy = arr;
+ EXPECT_EQ(allocated, len * sizeof(int) * 2);
+}
+
#ifdef ABSL_HAVE_ADDRESS_SANITIZER
TEST(FixedArrayTest, AddressSanitizerAnnotations1) {
absl::FixedArray<int, 32> a(10);