summaryrefslogtreecommitdiff
path: root/lldb/test/API/functionalities/data-formatter/data-formatter-stl/generic/map/main.cpp
blob: a626f175c11c438dd76100af221d4f363387323e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include <map>
#include <string>

#define intint_map std::map<int, int>
#define strint_map std::map<std::string, int>
#define intstr_map std::map<int, std::string>
#define strstr_map std::map<std::string, std::string>

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() {
  intint_map ii;

  ii[0] = 0; // Set break point at this line.
  ii[1] = 1;

  intint_map::iterator it = ii.begin();
  intint_map::const_iterator const_it = ii.cbegin();
  std::printf("%d %d\n", it->second, const_it->second);
  intint_map::iterator it_end = ii.end();
  intint_map::const_iterator const_it_end = ii.cend();

  thefoo_rw(1); // Set break point at this line.
  ii[2] = 0;
  ii[3] = 1;
  thefoo_rw(1); // Set break point at this line.
  ii[4] = 0;
  ii[5] = 1;
  ii[6] = 0;
  ii[7] = 1;
  thefoo_rw(1); // Set break point at this line.
  ii[85] = 1234567;

  ii.clear();

  strint_map si;
  thefoo_rw(1); // Set break point at this line.

  si["zero"] = 0;
  thefoo_rw(1); // Set break point at this line.
  si["one"] = 1;
  si["two"] = 2;
  si["three"] = 3;
  thefoo_rw(1); // Set break point at this line.
  si["four"] = 4;

  si.clear();
  thefoo_rw(1); // Set break point at this line.

  intstr_map is;
  thefoo_rw(1); // Set break point at this line.
  is[85] = "goofy";
  is[1] = "is";
  is[2] = "smart";
  is[3] = "!!!";
  thefoo_rw(1); // Set break point at this line.

  is.clear();
  thefoo_rw(1); // Set break point at this line.

  strstr_map ss;
  thefoo_rw(1); // Set break point at this line.

  ss["ciao"] = "hello";
  ss["casa"] = "house";
  ss["gatto"] = "cat";
  thefoo_rw(1); // Set break point at this line.
  ss["a Mac.."] = "..is always a Mac!";

  ss.clear();
  thefoo_rw(1); // Set break point at this line.
  return 0;
}