27bdc0a57729c961e33fc8457430b61afb137d44
[openbsd] /
1 #include <string>
2 #include <map>
3
4 #define intint_map std::multimap<int, int> 
5 #define strint_map std::multimap<std::string, int> 
6 #define intstr_map std::multimap<int, std::string> 
7 #define strstr_map std::multimap<std::string, std::string> 
8
9 int g_the_foo = 0;
10
11 int thefoo_rw(int arg = 1)
12 {
13         if (arg < 0)
14                 arg = 0;
15         if (!arg)
16                 arg = 1;
17         g_the_foo += arg;
18         return g_the_foo;
19 }
20
21 int main()
22 {
23     intint_map ii;
24     
25     ii.emplace(0,0); // Set break point at this line.
26     ii.emplace(1,1);
27         thefoo_rw(1);  // Set break point at this line.
28     ii.emplace(2,0);
29         ii.emplace(3,1);
30         thefoo_rw(1);  // Set break point at this line.
31         ii.emplace(4,0);
32         ii.emplace(5,1);
33         ii.emplace(6,0);
34         ii.emplace(7,1);
35     thefoo_rw(1);  // Set break point at this line.
36     ii.emplace(85,1234567);
37
38     ii.clear();
39     
40     strint_map si;
41     thefoo_rw(1);  // Set break point at this line.
42         
43     si.emplace("zero",0);
44         thefoo_rw(1);  // Set break point at this line.
45         si.emplace("one",1);
46         si.emplace("two",2);
47         si.emplace("three",3);
48         thefoo_rw(1);  // Set break point at this line.
49         si.emplace("four",4);
50
51     si.clear();
52     thefoo_rw(1);  // Set break point at this line.
53         
54     intstr_map is;
55     thefoo_rw(1);  // Set break point at this line.
56     is.emplace(85,"goofy");
57     is.emplace(1,"is");
58     is.emplace(2,"smart");
59     is.emplace(3,"!!!");
60     thefoo_rw(1);  // Set break point at this line.
61         
62     is.clear();
63     thefoo_rw(1);  // Set break point at this line.
64         
65     strstr_map ss;
66     thefoo_rw(1);  // Set break point at this line.
67         
68     ss.emplace("ciao","hello");
69     ss.emplace("casa","house");
70     ss.emplace("gatto","cat");
71     thefoo_rw(1);  // Set break point at this line.
72     ss.emplace("a Mac..","..is always a Mac!");
73     
74     ss.clear();
75     thefoo_rw(1);  // Set break point at this line.    
76     return 0;
77 }