#include #include #include using std::string; #define intstr_map std::unordered_map #define intstr_mmap std::unordered_multimap #define int_set std::unordered_set #define str_set std::unordered_set #define int_mset std::unordered_multiset #define str_mset std::unordered_multiset int g_the_foo = 0; int thefoo_rw(int arg = 1) { if (arg < 0) arg = 0; if (!arg) arg = 1; g_the_foo += arg; return g_the_foo; } int main() { intstr_map map; map.emplace(1,"hello"); map.emplace(2,"world"); map.emplace(3,"this"); map.emplace(4,"is"); map.emplace(5,"me"); thefoo_rw(); // Set break point at this line. intstr_mmap mmap; mmap.emplace(1,"hello"); mmap.emplace(2,"hello"); mmap.emplace(2,"world"); mmap.emplace(3,"this"); mmap.emplace(3,"this"); mmap.emplace(3,"this"); thefoo_rw(); // Set break point at this line. int_set iset; iset.emplace(1); iset.emplace(2); iset.emplace(3); iset.emplace(4); iset.emplace(5); thefoo_rw(); // Set break point at this line. str_set sset; sset.emplace("hello"); sset.emplace("world"); sset.emplace("this"); sset.emplace("is"); sset.emplace("me"); thefoo_rw(); // Set break point at this line. int_mset imset; imset.emplace(1); imset.emplace(2); imset.emplace(2); imset.emplace(3); imset.emplace(3); imset.emplace(3); thefoo_rw(); // Set break point at this line. str_mset smset; smset.emplace("hello"); smset.emplace("world"); smset.emplace("world"); smset.emplace("is"); smset.emplace("is"); thefoo_rw(); // Set break point at this line. return 0; }