1/* 2where from: base = matching base; head = other header 3what kind: ordy = ordinary struct; tmpl = template struct 4definition: decl = incomplete declaration; defn = full definition 5how used: not = not used; ref = by ref; ptr = through pointer; 6 fld = as field; var = as variable 7from where: base = from base; head = other header 8*/ 9 10struct gstruct_head_ordy_decl_not; 11struct gstruct_head_ordy_defn_not { int field_head_ordy_defn_not; }; 12 13struct gstruct_head_ordy_decl_ref_head; 14struct gstruct_head_ordy_defn_ref_head { int field_head_ordy_defn_ref_head; }; 15struct gstruct_head_ordy_defn_ptr_head { int field_head_ordy_defn_ptr_head; }; 16struct gstruct_head_ordy_defn_fld_head { int field_head_ordy_defn_fld_head; }; 17struct gstruct_head_ordy_defn_var_head { 18 gstruct_head_ordy_decl_ref_head *field_head_ordy_defn_var_head_inc; 19 gstruct_head_ordy_defn_ref_head *field_head_ordy_defn_var_head_ref; 20 gstruct_head_ordy_defn_ptr_head *field_head_ordy_defn_var_head_ptr; 21 gstruct_head_ordy_defn_fld_head field_head_ordy_defn_var_head_fld; 22}; 23extern struct gstruct_head_ordy_defn_var_head head_var1; 24 25struct gstruct_head_ordy_decl_ref_base; 26struct gstruct_head_ordy_defn_ref_base { int field_head_ordy_defn_ref_base; }; 27struct gstruct_head_ordy_defn_ptr_base { int field_head_ordy_defn_ptr_base; }; 28struct gstruct_head_ordy_defn_fld_base { int field_head_ordy_defn_fld_base; }; 29struct gstruct_head_ordy_defn_var_base { int field_head_ordy_defn_var_base; }; 30 31template< typename T > struct gstruct_head_tmpl_decl_not; 32template< typename T > struct gstruct_head_tmpl_defn_not 33{ T field_head_tmpl_defn_not; }; 34 35template< typename T > struct gstruct_head_tmpl_decl_ref_head; 36template< typename T > struct gstruct_head_tmpl_defn_ref_head 37{ T field_head_tmpl_defn_ref_head; }; 38template< typename T > struct gstruct_head_tmpl_defn_ptr_head 39{ T field_head_tmpl_defn_ptr_head; }; 40template< typename T > struct gstruct_head_tmpl_defn_fld_head 41{ T field_head_tmpl_defn_fld_head; }; 42template< typename T > struct gstruct_head_tmpl_defn_var_head { 43 gstruct_head_tmpl_decl_ref_head< T > *field_head_tmpl_defn_var_head_inc; 44 gstruct_head_tmpl_defn_ref_head< T > *field_head_tmpl_defn_var_head_ref; 45 gstruct_head_tmpl_defn_ptr_head< T > *field_head_tmpl_defn_var_head_ptr; 46 gstruct_head_tmpl_defn_fld_head< T > field_head_tmpl_defn_var_head_fld; 47}; 48extern gstruct_head_tmpl_defn_var_head< int > head_var5; 49 50template< typename T > struct gstruct_head_tmpl_decl_ref_base; 51template< typename T > struct gstruct_head_tmpl_defn_ref_base 52{ T field_head_tmpl_defn_ref_base; }; 53template< typename T > struct gstruct_head_tmpl_defn_ptr_base 54{ T field_head_tmpl_defn_ptr_base; }; 55template< typename T > struct gstruct_head_tmpl_defn_fld_base 56{ T field_head_tmpl_defn_fld_base; }; 57template< typename T > struct gstruct_head_tmpl_defn_var_base 58{ T field_head_tmpl_defn_var_base; }; 59 60inline int head_function() { 61 return 0 62+ head_var1.field_head_ordy_defn_var_head_ptr->field_head_ordy_defn_ptr_head 63+ head_var1.field_head_ordy_defn_var_head_fld.field_head_ordy_defn_fld_head 64+ head_var5.field_head_tmpl_defn_var_head_ptr->field_head_tmpl_defn_ptr_head 65+ head_var5.field_head_tmpl_defn_var_head_fld.field_head_tmpl_defn_fld_head 66; 67} 68