diff options
author | Abseil Team <absl-team@google.com> | 2021-11-17 10:01:24 -0800 |
---|---|---|
committer | dinord <dino.radakovich@gmail.com> | 2021-11-17 22:50:31 -0500 |
commit | 299f59cadda78dfaf71b2a35049b63911e8eff47 (patch) | |
tree | 1ae52c169d809eeaa6d91b996fd9f067c26a8f39 /absl/container/internal/node_hash_policy_test.cc | |
parent | 9b924cedb6127dfb8f5d504a419dead2899fa777 (diff) | |
download | abseil-299f59cadda78dfaf71b2a35049b63911e8eff47.tar.gz abseil-299f59cadda78dfaf71b2a35049b63911e8eff47.tar.bz2 abseil-299f59cadda78dfaf71b2a35049b63911e8eff47.zip |
Export of internal Abseil changes
--
2130ba98c8359b08d97fb16d84dfd05687005dcf by Abseil Team <absl-team@google.com>:
Tweaking the documentation of c_all_of to state the effect more directly.
PiperOrigin-RevId: 410557900
--
4732289bf4b56123fed113e36be4710b55c6a6c7 by Greg Falcon <gfalcon@google.com>:
Improve the quality of absl::Hash<std::vector<bool>>.
This previously dispatched to std::hash<vector<bool>>, which suffers from trivial collisions on many platforms. (They often hash the internal words but no size info, so that, e.g., {1, 1} and {1, 1, 0} collide.)
Also extended the unit test to exercise this.
PiperOrigin-RevId: 410329943
--
1c5f3934230a7669f74c96b305251786a265e235 by Greg Falcon <gfalcon@google.com>:
Add broader testing of absl hash contracts in the hash unit test.
In particular, test that the hash erasure mechanism works.
PiperOrigin-RevId: 410312738
--
5e1923f527ed3d02f6752a5b38d5e1c17a4a146f by Derek Mauro <dmauro@google.com>:
Internal change
PiperOrigin-RevId: 410290663
--
8c74bc962b3b98a5908017c345efc592393048ea by Martijn Vels <mvels@google.com>:
Add Cord::CreateFlat() function
PiperOrigin-RevId: 410260776
--
bd0de4e94c85620d3b8dd60fae367b730fc4cb34 by Evan Brown <ezb@google.com>:
Rename node_hash_policy to node_slot_policy.
Motivation: we can potentially reuse this code for node_btree_*.
PiperOrigin-RevId: 410082271
GitOrigin-RevId: 2130ba98c8359b08d97fb16d84dfd05687005dcf
Change-Id: Ie052084cf992dee250d8b2f388d39c4de0dcff40
Diffstat (limited to 'absl/container/internal/node_hash_policy_test.cc')
-rw-r--r-- | absl/container/internal/node_hash_policy_test.cc | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/absl/container/internal/node_hash_policy_test.cc b/absl/container/internal/node_hash_policy_test.cc deleted file mode 100644 index 84aabba9..00000000 --- a/absl/container/internal/node_hash_policy_test.cc +++ /dev/null @@ -1,69 +0,0 @@ -// Copyright 2018 The Abseil Authors. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// https://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include "absl/container/internal/node_hash_policy.h" - -#include <memory> - -#include "gmock/gmock.h" -#include "gtest/gtest.h" -#include "absl/container/internal/hash_policy_traits.h" - -namespace absl { -ABSL_NAMESPACE_BEGIN -namespace container_internal { -namespace { - -using ::testing::Pointee; - -struct Policy : node_hash_policy<int&, Policy> { - using key_type = int; - using init_type = int; - - template <class Alloc> - static int* new_element(Alloc* alloc, int value) { - return new int(value); - } - - template <class Alloc> - static void delete_element(Alloc* alloc, int* elem) { - delete elem; - } -}; - -using NodePolicy = hash_policy_traits<Policy>; - -struct NodeTest : ::testing::Test { - std::allocator<int> alloc; - int n = 53; - int* a = &n; -}; - -TEST_F(NodeTest, ConstructDestroy) { - NodePolicy::construct(&alloc, &a, 42); - EXPECT_THAT(a, Pointee(42)); - NodePolicy::destroy(&alloc, &a); -} - -TEST_F(NodeTest, transfer) { - int s = 42; - int* b = &s; - NodePolicy::transfer(&alloc, &a, &b); - EXPECT_EQ(&s, a); -} - -} // namespace -} // namespace container_internal -ABSL_NAMESPACE_END -} // namespace absl |