1 #include <string>
2 
3 struct DeepData_5
4 {
5     std::string m_some_text;
DeepData_5DeepData_56     DeepData_5() :
7     m_some_text("Just a test") {}
8 };
9 
10 struct DeepData_4
11 {
12     DeepData_5 m_child1;
13     DeepData_5 m_child2;
14     DeepData_5 m_child3;
15 };
16 
17 struct DeepData_3
18 {
19     DeepData_4& m_child1;
20     DeepData_4 m_child2;
21 
DeepData_3DeepData_322     DeepData_3() : m_child1(* (new DeepData_4())), m_child2(DeepData_4()) {}
23 };
24 
25 struct DeepData_2
26 {
27     DeepData_3 m_child1;
28     DeepData_3 m_child2;
29     DeepData_3 m_child3;
30     DeepData_3 m_child4;
31 };
32 
33 struct DeepData_1
34 {
35     DeepData_2 *m_child1;
36 
DeepData_1DeepData_137     DeepData_1() :
38     m_child1(new DeepData_2())
39     {}
40 };
41 
42 /*
43  type summary add -f "${var._M_dataplus._M_p}" std::string
44  type summary add -f "Level 1" "DeepData_1"
45  type summary add -f "Level 2" "DeepData_2" -e
46  type summary add -f "Level 3" "DeepData_3"
47  type summary add -f "Level 4" "DeepData_4"
48  type summary add -f "Level 5" "DeepData_5"
49  */
50 
main()51 int main()
52 {
53     DeepData_1 data1;
54     DeepData_2 data2;
55 
56     return 0; // Set break point at this line.
57 }