#pragma once struct base { std::string string ; //Gson@optional std::string *string_ptr ; int a ; int *a_ptr ; unsigned int b ; unsigned int *b_ptr; int64_t c ; int64_t *c_ptr ; unsigned long d; unsigned long *d_ptr ; unsigned long long e ; unsigned long long *e_ptr; long f ; long *f_ptr ; long long g; long long *g_ptr ; acl::string acl_string; acl::string *acl_string_ptr; float h; float *h_ptr; double i; double *i_ptr; }; struct list1 { base b; base *b_ptr; std::list bases_list; std::list *bases_list_ptr; //Gson@optional std::list *bases_ptr_list_ptr; std::map base_map; std::map string_map; std::map int_map; std::map bool_map; std::map > base_list_map; std::vector vector_string_ptr; std::vector vector_string; std::vector > vector_list_base; }; namespace hello { struct world : list1 { int me; }; }