From f028760b83c340b802adea7bab019ca14d95bad4 Mon Sep 17 00:00:00 2001 From: Jacques Lucke Date: Thu, 11 Jun 2020 10:48:52 +0200 Subject: BLI: make Map::Item and Map::MutableItem more accessible This makes it easier to write range-for loops over all items in the map without using auto. --- tests/gtests/blenlib/BLI_map_test.cc | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/gtests/blenlib/BLI_map_test.cc b/tests/gtests/blenlib/BLI_map_test.cc index b14ba40ed7c..623055d5032 100644 --- a/tests/gtests/blenlib/BLI_map_test.cc +++ b/tests/gtests/blenlib/BLI_map_test.cc @@ -185,7 +185,8 @@ TEST(map, ItemIterator) blender::Set values; uint iterations = 0; - for (auto item : map.items()) { + const Map &const_map = map; + for (auto item : const_map.items()) { keys.add(item.key); values.add(item.value); iterations++; @@ -228,6 +229,26 @@ TEST(map, MutableItemIterator) EXPECT_EQ(map.lookup(2), 3.0f); } +TEST(map, MutableItemToItemConversion) +{ + Map map; + map.add(3, 6); + map.add(2, 1); + + Vector keys, values; + for (Map::Item item : map.items()) { + keys.append(item.key); + values.append(item.value); + } + + EXPECT_EQ(keys.size(), 2); + EXPECT_EQ(values.size(), 2); + EXPECT_TRUE(keys.contains(3)); + EXPECT_TRUE(keys.contains(2)); + EXPECT_TRUE(values.contains(6)); + EXPECT_TRUE(values.contains(1)); +} + static float return_42() { return 42.0f; -- cgit v1.2.3