diff options
author | Evan Brown <ezb@google.com> | 2022-06-06 11:02:03 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-06-06 11:02:59 -0700 |
commit | ef034836d3bfcaff018593014f14a3ebc264cc81 (patch) | |
tree | e0408329dea54f3fa09a9b25c9b94d222b49e5ab /absl/container/internal/container_memory.h | |
parent | 6481443560a92d0a3a55a31807de0cd712cd4f88 (diff) | |
download | abseil-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.h | 27 |
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 |