Branch Coverage

t/string_containers.cc
Criterion Covered Total %
branch 1275 3154 40.4


line true false branch
24 7 0 c.emplace(skey1, val1);
25 7 0 c.emplace(skey2, val2);
28 7 0 SECTION("find") {
7 0 SECTION("find") {
7 0 SECTION("find") {
7 0 SECTION("find") {
1 6 SECTION("find") {
29 1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
0 0 REQUIRE(c.find(key1)->second == val1);
0 0 REQUIRE(c.find(key1)->second == val1);
30 1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
31 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
34 7 0 SECTION("at") {
7 0 SECTION("at") {
7 0 SECTION("at") {
7 0 SECTION("at") {
1 6 SECTION("at") {
35 1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
0 0 REQUIRE(c.at(key1) == val1);
0 0 REQUIRE(c.at(key1) == val1);
36 1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
37 1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
0 1 REQUIRE_THROWS(c.at(nokey));
0 0 REQUIRE_THROWS(c.at(nokey));
0 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
40 7 0 SECTION("count") {
7 0 SECTION("count") {
7 0 SECTION("count") {
7 0 SECTION("count") {
1 6 SECTION("count") {
41 1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
42 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
43 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
46 7 0 SECTION("equal_range") {
7 0 SECTION("equal_range") {
7 0 SECTION("equal_range") {
7 0 SECTION("equal_range") {
1 6 SECTION("equal_range") {
47 1 0 auto p = c.equal_range(key1);
49 1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
0 0 REQUIRE((it++)->second == val1);
0 0 REQUIRE((it++)->second == val1);
50 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
52 1 0 p = c.equal_range(key2);
54 1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
55 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
57 1 0 p = c.equal_range(nokey);
58 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
61 7 0 SECTION("lower_bound") {
7 0 SECTION("lower_bound") {
7 0 SECTION("lower_bound") {
7 0 SECTION("lower_bound") {
1 6 SECTION("lower_bound") {
62 1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
0 0 REQUIRE(c.lower_bound("0")->second == val1);
0 0 REQUIRE(c.lower_bound("0")->second == val1);
63 1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
0 0 REQUIRE(c.lower_bound(key1)->second == val1);
0 0 REQUIRE(c.lower_bound(key1)->second == val1);
64 1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
67 7 0 SECTION("upper_bound") {
7 0 SECTION("upper_bound") {
7 0 SECTION("upper_bound") {
7 0 SECTION("upper_bound") {
1 6 SECTION("upper_bound") {
68 1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
0 0 REQUIRE(c.upper_bound("0")->second == val1);
0 0 REQUIRE(c.upper_bound("0")->second == val1);
69 1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
0 0 REQUIRE(c.upper_bound(key1)->second == val2);
0 0 REQUIRE(c.upper_bound(key1)->second == val2);
70 1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
73 7 0 SECTION("erase") {
7 0 SECTION("erase") {
7 0 SECTION("erase") {
7 0 SECTION("erase") {
1 6 SECTION("erase") {
74 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
76 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
77 1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
78 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
79 1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
80 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
86 6 0 c.emplace(skey1, val1);
87 6 0 c.emplace(skey2, val2);
88 6 0 c.emplace(skey1, val3);
91 6 0 SECTION("find") {
6 0 SECTION("find") {
6 0 SECTION("find") {
6 0 SECTION("find") {
1 5 SECTION("find") {
92 1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
0 0 REQUIRE(c.find(key1)->second == val1);
0 0 REQUIRE(c.find(key1)->second == val1);
93 1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
94 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
97 6 0 SECTION("count") {
6 0 SECTION("count") {
6 0 SECTION("count") {
6 0 SECTION("count") {
1 5 SECTION("count") {
98 1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
99 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
100 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
103 6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
1 5 SECTION("equal_range") {
104 1 0 auto p = c.equal_range(key1);
106 1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
0 0 REQUIRE((it++)->second == val1);
0 0 REQUIRE((it++)->second == val1);
107 1 0 REQUIRE((it++)->second == val3);
1 0 REQUIRE((it++)->second == val3);
1 0 REQUIRE((it++)->second == val3);
1 0 REQUIRE((it++)->second == val3);
1 0 REQUIRE((it++)->second == val3);
0 0 REQUIRE((it++)->second == val3);
0 0 REQUIRE((it++)->second == val3);
108 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
110 1 0 p = c.equal_range(key2);
112 1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
113 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
115 1 0 p = c.equal_range(nokey);
116 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
119 6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
1 5 SECTION("lower_bound") {
120 1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
1 0 REQUIRE(c.lower_bound("0")->second == val1);
0 0 REQUIRE(c.lower_bound("0")->second == val1);
0 0 REQUIRE(c.lower_bound("0")->second == val1);
121 1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
1 0 REQUIRE(c.lower_bound(key1)->second == val1);
0 0 REQUIRE(c.lower_bound(key1)->second == val1);
0 0 REQUIRE(c.lower_bound(key1)->second == val1);
122 1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
125 6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
1 5 SECTION("upper_bound") {
126 1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
1 0 REQUIRE(c.upper_bound("0")->second == val1);
0 0 REQUIRE(c.upper_bound("0")->second == val1);
0 0 REQUIRE(c.upper_bound("0")->second == val1);
127 1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
1 0 REQUIRE(c.upper_bound(key1)->second == val2);
0 0 REQUIRE(c.upper_bound(key1)->second == val2);
0 0 REQUIRE(c.upper_bound(key1)->second == val2);
128 1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
131 6 0 SECTION("erase") {
6 0 SECTION("erase") {
6 0 SECTION("erase") {
6 0 SECTION("erase") {
1 5 SECTION("erase") {
132 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
134 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
135 1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
136 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
137 1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
138 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
144 5 0 c.emplace(skey1, val1);
145 5 0 c.emplace(skey2, val2);
148 5 0 SECTION("find") {
5 0 SECTION("find") {
5 0 SECTION("find") {
5 0 SECTION("find") {
1 4 SECTION("find") {
149 1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
1 0 REQUIRE(c.find(key1)->second == val1);
0 0 REQUIRE(c.find(key1)->second == val1);
0 0 REQUIRE(c.find(key1)->second == val1);
150 1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
151 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
154 5 0 SECTION("at") {
5 0 SECTION("at") {
5 0 SECTION("at") {
5 0 SECTION("at") {
1 4 SECTION("at") {
155 1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
1 0 REQUIRE(c.at(key1) == val1);
0 0 REQUIRE(c.at(key1) == val1);
0 0 REQUIRE(c.at(key1) == val1);
156 1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
157 1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
0 1 REQUIRE_THROWS(c.at(nokey));
0 0 REQUIRE_THROWS(c.at(nokey));
0 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
1 0 REQUIRE_THROWS(c.at(nokey));
160 5 0 SECTION("count") {
5 0 SECTION("count") {
5 0 SECTION("count") {
5 0 SECTION("count") {
1 4 SECTION("count") {
161 1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
162 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
163 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
166 5 0 SECTION("equal_range") {
5 0 SECTION("equal_range") {
5 0 SECTION("equal_range") {
5 0 SECTION("equal_range") {
1 4 SECTION("equal_range") {
167 1 0 auto p = c.equal_range(key1);
169 1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
1 0 REQUIRE((it++)->second == val1);
0 0 REQUIRE((it++)->second == val1);
0 0 REQUIRE((it++)->second == val1);
170 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
172 1 0 p = c.equal_range(key2);
174 1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
175 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
177 1 0 p = c.equal_range(nokey);
178 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
181 5 0 SECTION("erase") {
5 0 SECTION("erase") {
5 0 SECTION("erase") {
5 0 SECTION("erase") {
1 4 SECTION("erase") {
182 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
184 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
185 1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
186 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
187 1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
1 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
0 0 REQUIRE(c.at(key2) == val2);
188 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
194 4 0 c.emplace(skey1, val1);
195 4 0 c.emplace(skey2, val2);
196 4 0 c.emplace(skey1, val3);
199 4 0 SECTION("find") {
4 0 SECTION("find") {
4 0 SECTION("find") {
4 0 SECTION("find") {
1 3 SECTION("find") {
200 1 0 auto val = c.find(key1)->second;
1 0 auto val = c.find(key1)->second;
201 1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
1 0 REQUIRE((val == val1 || val == val3));
0 0 REQUIRE((val == val1 || val == val3));
0 0 REQUIRE((val == val1 || val == val3));
202 1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
203 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
206 4 0 SECTION("count") {
4 0 SECTION("count") {
4 0 SECTION("count") {
4 0 SECTION("count") {
1 3 SECTION("count") {
207 1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
208 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
209 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
212 4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
1 3 SECTION("equal_range") {
213 1 0 auto p = c.equal_range(key1);
215 1 0 auto v1 = (it++)->second;
216 1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
1 0 REQUIRE((v1 == val1 || v1 == val3));
0 0 REQUIRE((v1 == val1 || v1 == val3));
0 0 REQUIRE((v1 == val1 || v1 == val3));
217 1 0 auto v2 = (it++)->second;
218 1 0 REQUIRE((v2 == val1 || v2 == val3));
1 0 REQUIRE((v2 == val1 || v2 == val3));
0 1 REQUIRE((v2 == val1 || v2 == val3));
0 0 REQUIRE((v2 == val1 || v2 == val3));
0 0 REQUIRE((v2 == val1 || v2 == val3));
1 0 REQUIRE((v2 == val1 || v2 == val3));
1 0 REQUIRE((v2 == val1 || v2 == val3));
1 0 REQUIRE((v2 == val1 || v2 == val3));
0 0 REQUIRE((v2 == val1 || v2 == val3));
0 0 REQUIRE((v2 == val1 || v2 == val3));
219 1 0 REQUIRE(v2 != v1);
1 0 REQUIRE(v2 != v1);
1 0 REQUIRE(v2 != v1);
1 0 REQUIRE(v2 != v1);
1 0 REQUIRE(v2 != v1);
0 0 REQUIRE(v2 != v1);
0 0 REQUIRE(v2 != v1);
220 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
222 1 0 p = c.equal_range(key2);
224 1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
1 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
0 0 REQUIRE((it++)->second == val2);
225 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
227 1 0 p = c.equal_range(nokey);
228 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
231 4 0 SECTION("erase") {
4 0 SECTION("erase") {
4 0 SECTION("erase") {
4 0 SECTION("erase") {
1 3 SECTION("erase") {
232 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
234 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
235 1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
236 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
237 1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
1 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
0 0 REQUIRE(c.find(key2)->second == val2);
238 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
244 6 0 c.emplace(skey1);
245 6 0 c.emplace(skey2);
248 6 0 SECTION("find") {
6 0 SECTION("find") {
6 0 SECTION("find") {
6 0 SECTION("find") {
1 5 SECTION("find") {
249 1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
250 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
251 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
254 6 0 SECTION("count") {
6 0 SECTION("count") {
6 0 SECTION("count") {
6 0 SECTION("count") {
1 5 SECTION("count") {
255 1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
256 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
257 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
260 6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
1 5 SECTION("equal_range") {
261 1 0 auto p = c.equal_range(key1);
263 1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
264 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
266 1 0 p = c.equal_range(key2);
268 1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
269 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
271 1 0 p = c.equal_range(nokey);
272 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
275 6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
1 5 SECTION("lower_bound") {
276 1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
0 0 REQUIRE(*c.lower_bound("0") == key1);
0 0 REQUIRE(*c.lower_bound("0") == key1);
277 1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
0 0 REQUIRE(*c.lower_bound(key1) == key1);
0 0 REQUIRE(*c.lower_bound(key1) == key1);
278 1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
281 6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
1 5 SECTION("upper_bound") {
282 1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
0 0 REQUIRE(*c.upper_bound("0") == key1);
0 0 REQUIRE(*c.upper_bound("0") == key1);
283 1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
0 0 REQUIRE(*c.upper_bound(key1) == key2);
0 0 REQUIRE(*c.upper_bound(key1) == key2);
284 1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
287 6 0 SECTION("erase") {
6 0 SECTION("erase") {
6 0 SECTION("erase") {
6 0 SECTION("erase") {
1 5 SECTION("erase") {
288 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
290 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
291 1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
292 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
293 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
294 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
300 6 0 c.emplace(skey1);
301 6 0 c.emplace(skey2);
302 6 0 c.emplace(skey1);
305 6 0 SECTION("find") {
6 0 SECTION("find") {
6 0 SECTION("find") {
6 0 SECTION("find") {
1 5 SECTION("find") {
306 1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
307 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
308 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
311 6 0 SECTION("count") {
6 0 SECTION("count") {
6 0 SECTION("count") {
6 0 SECTION("count") {
1 5 SECTION("count") {
312 1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
313 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
314 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
317 6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
6 0 SECTION("equal_range") {
1 5 SECTION("equal_range") {
318 1 0 auto p = c.equal_range(key1);
320 1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
321 1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
322 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
324 1 0 p = c.equal_range(key2);
326 1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
327 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
329 1 0 p = c.equal_range(nokey);
330 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
333 6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
6 0 SECTION("lower_bound") {
1 5 SECTION("lower_bound") {
334 1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
1 0 REQUIRE(*c.lower_bound("0") == key1);
0 0 REQUIRE(*c.lower_bound("0") == key1);
0 0 REQUIRE(*c.lower_bound("0") == key1);
335 1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
1 0 REQUIRE(*c.lower_bound(key1) == key1);
0 0 REQUIRE(*c.lower_bound(key1) == key1);
0 0 REQUIRE(*c.lower_bound(key1) == key1);
336 1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
1 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
0 0 REQUIRE(c.lower_bound(nokey) == c.end());
339 6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
6 0 SECTION("upper_bound") {
1 5 SECTION("upper_bound") {
340 1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
1 0 REQUIRE(*c.upper_bound("0") == key1);
0 0 REQUIRE(*c.upper_bound("0") == key1);
0 0 REQUIRE(*c.upper_bound("0") == key1);
341 1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
1 0 REQUIRE(*c.upper_bound(key1) == key2);
0 0 REQUIRE(*c.upper_bound(key1) == key2);
0 0 REQUIRE(*c.upper_bound(key1) == key2);
342 1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
1 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
0 0 REQUIRE(c.upper_bound(key2) == c.end());
345 6 0 SECTION("erase") {
6 0 SECTION("erase") {
6 0 SECTION("erase") {
6 0 SECTION("erase") {
1 5 SECTION("erase") {
346 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
348 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
349 1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
350 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
351 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
352 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
358 4 0 c.emplace(skey1);
359 4 0 c.emplace(skey2);
362 4 0 SECTION("find") {
4 0 SECTION("find") {
4 0 SECTION("find") {
4 0 SECTION("find") {
1 3 SECTION("find") {
363 1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
364 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
365 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
368 4 0 SECTION("count") {
4 0 SECTION("count") {
4 0 SECTION("count") {
4 0 SECTION("count") {
1 3 SECTION("count") {
369 1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
1 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
0 0 REQUIRE(c.count(key1) == 1);
370 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
371 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
374 4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
1 3 SECTION("equal_range") {
375 1 0 auto p = c.equal_range(key1);
377 1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
378 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
380 1 0 p = c.equal_range(key2);
382 1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
383 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
385 1 0 p = c.equal_range(nokey);
386 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
389 4 0 SECTION("erase") {
4 0 SECTION("erase") {
4 0 SECTION("erase") {
4 0 SECTION("erase") {
1 3 SECTION("erase") {
390 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
392 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
393 1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
1 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
0 0 REQUIRE(c.erase(key1) == 1);
394 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
395 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
396 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
402 4 0 c.emplace(skey1);
403 4 0 c.emplace(skey2);
404 4 0 c.emplace(skey1);
407 4 0 SECTION("find") {
4 0 SECTION("find") {
4 0 SECTION("find") {
4 0 SECTION("find") {
1 3 SECTION("find") {
408 1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
1 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
0 0 REQUIRE(*c.find(key1) == key1);
409 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
410 1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
1 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
0 0 REQUIRE(c.find(nokey) == c.end());
413 4 0 SECTION("count") {
4 0 SECTION("count") {
4 0 SECTION("count") {
4 0 SECTION("count") {
1 3 SECTION("count") {
414 1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
1 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
0 0 REQUIRE(c.count(key1) == 2);
415 1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
1 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
0 0 REQUIRE(c.count(key2) == 1);
416 1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
1 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
0 0 REQUIRE(c.count(nokey) == 0);
419 4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
4 0 SECTION("equal_range") {
1 3 SECTION("equal_range") {
420 1 0 auto p = c.equal_range(key1);
422 1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
423 1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
1 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
0 0 REQUIRE(*it++ == key1);
424 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
426 1 0 p = c.equal_range(key2);
428 1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
1 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
0 0 REQUIRE(*it++ == key2);
429 1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
1 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
0 0 REQUIRE(it == p.second);
431 1 0 p = c.equal_range(nokey);
432 1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
1 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
0 0 REQUIRE(p.first == p.second);
435 4 0 SECTION("erase") {
4 0 SECTION("erase") {
4 0 SECTION("erase") {
4 0 SECTION("erase") {
1 3 SECTION("erase") {
436 1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
1 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
0 0 REQUIRE(c.erase(nokey) == 0);
438 1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
1 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
0 0 REQUIRE(stat.is_empty());
439 1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
1 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
0 0 REQUIRE(c.erase(key1) == 2);
440 1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
1 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
0 0 REQUIRE(c.find(key1) == c.end());
441 1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
1 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
0 0 REQUIRE(*c.find(key2) == key2);
442 1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
1 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
0 0 REQUIRE(c.erase(key1) == 0);
444 18 0 }
18 0 }