15 #include "absl/container/flat_hash_set.h"
19 #include "absl/base/internal/raw_logging.h"
20 #include "absl/container/internal/hash_generator_testing.h"
21 #include "absl/container/internal/unordered_set_constructor_test.h"
22 #include "absl/container/internal/unordered_set_lookup_test.h"
23 #include "absl/container/internal/unordered_set_members_test.h"
24 #include "absl/container/internal/unordered_set_modifiers_test.h"
25 #include "absl/memory/memory.h"
26 #include "absl/strings/string_view.h"
30 namespace container_internal {
49 const BeforeMain before_main;
64 std::vector<std::string>
v = {
"a",
"b"};
88 size_t operator()(
const std::unique_ptr<int>& p)
const {
return *
p; }
91 bool operator()(
const std::unique_ptr<int>& a,
92 const std::unique_ptr<int>&
b)
const {
97 set1.
insert(absl::make_unique<int>(7));
98 set1.
insert(absl::make_unique<int>(17));
100 set2.
insert(absl::make_unique<int>(7));
101 set2.
insert(absl::make_unique<int>(19));
111 auto node = set1.
extract(absl::make_unique<int>(7));
122 EXPECT_NE(insert_result.position->get(), insert_result.node.value().get());
125 node = set1.
extract(absl::make_unique<int>(17));
130 node.value() = absl::make_unique<int>(23);
140 bool IsEven(
int k) {
return k % 2 == 0; }
145 flat_hash_set<int>
s = {1, 2, 3, 4, 5};
151 flat_hash_set<int>
s = {1, 2, 3, 4, 5};
157 flat_hash_set<int>
s = {1, 2, 3, 4, 5};
163 flat_hash_set<int>
s = {1, 2, 3, 4, 5};
169 flat_hash_set<int>
s = {1, 2, 3, 4, 5};