Changeset 203 in dev for trunk/jenga/include/smoothie/Class.h
- Timestamp:
- Jul 3, 2007, 3:49:18 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/jenga/include/smoothie/Class.h
r200 r203 54 54 NamespaceScopesCollection importedNamespaces; 55 55 56 // 継承するインターフェイス56 // 実装するインターフェイス 57 57 Interfaces interfaces; 58 59 // 継承クラス 60 const CClass *pSuperClass; 58 61 59 62 // Blittable型情報 … … 77 80 78 81 // XMLシリアライズ用 82 // TODO: xml実装 79 83 private: 80 84 friend class boost::serialization::access; … … 85 89 ar & BOOST_SERIALIZATION_NVP( importedNamespaces ); 86 90 //ar & BOOST_SERIALIZATION_NVP( interfaces ); 91 ar & boost::serialization::make_nvp( "pSuperClass", const_cast<CClass *&>(pSuperClass) ); 87 92 ar & BOOST_SERIALIZATION_NVP( blittableType ); 88 93 //ar & BOOST_SERIALIZATION_NVP( dynamicMembers ); … … 99 104 100 105 public: 101 //継承クラスへのポインタ102 const CClass *pobj_InheritsClass;103 106 104 107 //アラインメント値 105 108 int iAlign; 106 109 107 CClass( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name ); 110 CClass( const NamespaceScopes &namespaceScopes, const NamespaceScopesCollection &importedNamespaces, const string &name ) 111 : isReady( false ) 112 , Prototype( namespaceScopes, name ) 113 , importedNamespaces( importedNamespaces ) 114 , ConstructorMemberSubIndex( -1 ) 115 , DestructorMemberSubIndex( -1 ) 116 , classType( Class ) 117 , pSuperClass( NULL ) 118 , vtblNum( 0 ) 119 , iAlign( 0 ) 120 , vtbl_offset( -1 ) 121 , isCompilingConstructor( false ) 122 , isCompilingDestructor( false ) 123 , pobj_NextClass( NULL ) 124 { 125 } 108 126 CClass() 109 : Prototype() 127 : isReady( false ) 128 , Prototype() 129 , importedNamespaces() 130 , ConstructorMemberSubIndex( -1 ) 131 , DestructorMemberSubIndex( -1 ) 132 , classType() 133 , pSuperClass( NULL ) 134 , vtblNum( 0 ) 135 , iAlign( 0 ) 136 , vtbl_offset( -1 ) 137 , isCompilingConstructor( false ) 138 , isCompilingDestructor( false ) 139 , pobj_NextClass( NULL ) 110 140 { 111 141 } … … 130 160 } 131 161 bool IsInheritsInterface( const CClass *pInterfaceClass ) const; 162 163 // 継承元クラス 164 bool HasSuperClass() const 165 { 166 return ( pSuperClass != NULL ); 167 } 168 const CClass &GetSuperClass() const 169 { 170 return *pSuperClass; 171 } 172 void SetSuperClass( const CClass *pSuperClass ) 173 { 174 this->pSuperClass = pSuperClass; 175 } 132 176 133 177 // Blittable型
Note:
See TracChangeset
for help on using the changeset viewer.