aboutsummaryrefslogtreecommitdiff
path: root/absl/container/internal/container_memory.h
diff options
context:
space:
mode:
authorEvan Brown <ezb@google.com>2022-06-06 11:02:03 -0700
committerCopybara-Service <copybara-worker@google.com>2022-06-06 11:02:59 -0700
commitef034836d3bfcaff018593014f14a3ebc264cc81 (patch)
treee0408329dea54f3fa09a9b25c9b94d222b49e5ab /absl/container/internal/container_memory.h
parent6481443560a92d0a3a55a31807de0cd712cd4f88 (diff)
downloadabseil-ef034836d3bfcaff018593014f14a3ebc264cc81.tar.gz
abseil-ef034836d3bfcaff018593014f14a3ebc264cc81.tar.bz2
abseil-ef034836d3bfcaff018593014f14a3ebc264cc81.zip
In b-tree, support unassignable value types.
Avoid using value move/swap and delete those functions from slot_policy types. There was only one use of params_type::move in `erase`. PiperOrigin-RevId: 453237739 Change-Id: Ie81c6dba6c4db34e97a067d2c0defcded8044a5a
Diffstat (limited to 'absl/container/internal/container_memory.h')
-rw-r--r--absl/container/internal/container_memory.h27
1 files changed, 0 insertions, 27 deletions
diff --git a/absl/container/internal/container_memory.h b/absl/container/internal/container_memory.h
index 94185c6e..00e9f6d7 100644
--- a/absl/container/internal/container_memory.h
+++ b/absl/container/internal/container_memory.h
@@ -433,33 +433,6 @@ struct map_slot_policy {
}
destroy(alloc, old_slot);
}
-
- template <class Allocator>
- static void swap(Allocator* alloc, slot_type* a, slot_type* b) {
- if (kMutableKeys::value) {
- using std::swap;
- swap(a->mutable_value, b->mutable_value);
- } else {
- value_type tmp = std::move(a->value);
- absl::allocator_traits<Allocator>::destroy(*alloc, &a->value);
- absl::allocator_traits<Allocator>::construct(*alloc, &a->value,
- std::move(b->value));
- absl::allocator_traits<Allocator>::destroy(*alloc, &b->value);
- absl::allocator_traits<Allocator>::construct(*alloc, &b->value,
- std::move(tmp));
- }
- }
-
- template <class Allocator>
- static void move(Allocator* alloc, slot_type* src, slot_type* dest) {
- if (kMutableKeys::value) {
- dest->mutable_value = std::move(src->mutable_value);
- } else {
- absl::allocator_traits<Allocator>::destroy(*alloc, &dest->value);
- absl::allocator_traits<Allocator>::construct(*alloc, &dest->value,
- std::move(src->value));
- }
- }
};
} // namespace container_internal