Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2839)

Unified Diff: base/containers/flat_map_unittest.cc

Issue 2944523002: Improving flat containers interface. (Closed)
Patch Set: Review, round 4. Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: base/containers/flat_map_unittest.cc
diff --git a/base/containers/flat_map_unittest.cc b/base/containers/flat_map_unittest.cc
index 0556527635a69ebe16153cd33134fdefc8e96fe6..5b90471ae58edba777bb677208121c2299cef3fe 100644
--- a/base/containers/flat_map_unittest.cc
+++ b/base/containers/flat_map_unittest.cc
@@ -170,4 +170,31 @@ TEST(FlatMap, SubscriptMoveOnlyKey) {
EXPECT_EQ(44, m[MoveOnlyInt(1)]);
}
+TEST(FlatMap, UniquePtrKeys) {
danakj 2017/06/26 19:33:12 nit: there's no UniquePtrs in this test, CompareWi
dyaroshev 2017/06/26 22:40:42 Done
+ using ExplicitInt = base::MoveOnlyInt;
+ base::flat_map<ExplicitInt, int> m;
+ const auto& m1 = m;
+ int x = 0;
+
+ // Check if we can use lookup functions without converting to key_type.
+ // Correctness is checked in flat_tree tests.
+ m.count(x);
+ m1.count(x);
+ m.find(x);
+ m1.find(x);
+ m.equal_range(x);
+ m1.equal_range(x);
+ m.lower_bound(x);
+ m1.lower_bound(x);
+ m.upper_bound(x);
+ m1.upper_bound(x);
+ m.erase(x);
+
+ // Check if we broke overload resolution.
+ m.emplace(ExplicitInt(0), 0);
+ m.emplace(ExplicitInt(1), 0);
+ m.erase(m.begin());
+ m.erase(m.cbegin());
+}
+
} // namespace base

Powered by Google App Engine
This is Rietveld 408576698