aboutsummaryrefslogtreecommitdiff
path: root/absl/container/internal/container_memory_test.cc
diff options
context:
space:
mode:
authorAbseil Team <absl-team@google.com>2024-01-31 13:45:52 -0800
committerCopybara-Service <copybara-worker@google.com>2024-01-31 13:46:58 -0800
commit4c7e7c7d94eaaa3bff3142c257d880a468a35934 (patch)
treeb8418ca1620a45c7c772945194e9537165ac13f4 /absl/container/internal/container_memory_test.cc
parent780bfc194d807dbd56363635ca40bf96743aa00b (diff)
downloadabseil-4c7e7c7d94eaaa3bff3142c257d880a468a35934.tar.gz
abseil-4c7e7c7d94eaaa3bff3142c257d880a468a35934.tar.bz2
abseil-4c7e7c7d94eaaa3bff3142c257d880a468a35934.zip
Type erased hash_slot_fn that depends only on key types (and hash function).
PiperOrigin-RevId: 603148301 Change-Id: Ie2e5702995c9e1ef4d5aaab23bc89a1eb5007a86
Diffstat (limited to 'absl/container/internal/container_memory_test.cc')
-rw-r--r--absl/container/internal/container_memory_test.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/absl/container/internal/container_memory_test.cc b/absl/container/internal/container_memory_test.cc
index c973ac25..7e4357d5 100644
--- a/absl/container/internal/container_memory_test.cc
+++ b/absl/container/internal/container_memory_test.cc
@@ -298,6 +298,20 @@ TEST(MapSlotPolicy, DestroyReturnsTrue) {
}
}
+TEST(ApplyTest, TypeErasedApplyToSlotFn) {
+ size_t x = 7;
+ auto fn = [](size_t v) { return v * 2; };
+ EXPECT_EQ((TypeErasedApplyToSlotFn<decltype(fn), size_t>(&fn, &x)), 14);
+}
+
+TEST(ApplyTest, TypeErasedDerefAndApplyToSlotFn) {
+ size_t x = 7;
+ auto fn = [](size_t v) { return v * 2; };
+ size_t* x_ptr = &x;
+ EXPECT_EQ(
+ (TypeErasedDerefAndApplyToSlotFn<decltype(fn), size_t>(&fn, &x_ptr)), 14);
+}
+
} // namespace
} // namespace container_internal
ABSL_NAMESPACE_END