text: #include <string>
  
  struct DeepData_5
  {
      std::string m_some_text;
      DeepData_5() :
      m_some_text("Just a test") {}
  };
  
  struct DeepData_4
  {
      DeepData_5 m_child1;
      DeepData_5 m_child2;
      DeepData_5 m_child3;
  };
  
  struct DeepData_3
  {
      DeepData_4& m_child1;
      DeepData_4 m_child2;
      
      DeepData_3() : m_child1(* (new DeepData_4())), m_child2(DeepData_4()) {}
  };
  
  struct DeepData_2
  {
      DeepData_3 m_child1;
      DeepData_3 m_child2;
      DeepData_3 m_child3;
      DeepData_3 m_child4;    
  };
  
  struct DeepData_1
  {
      DeepData_2 *m_child1;
      
      DeepData_1() :
      m_child1(new DeepData_2())
      {}
  };
  
  /*
   type summary add -f "${var._M_dataplus._M_p}" std::string
   type summary add -f "Level 1" "DeepData_1"
   type summary add -f "Level 2" "DeepData_2" -e
   type summary add -f "Level 3" "DeepData_3"
   type summary add -f "Level 4" "DeepData_4"
   type summary add -f "Level 5" "DeepData_5"
   */
  
  int main()
  {
      DeepData_1 data1;
      DeepData_2 data2;
      
      return 0; // Set break point at this line.
  }