Changeset 128 in dev for BasicCompiler_Common/Type.h
- Timestamp:
- May 18, 2007, 4:42:36 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
BasicCompiler_Common/Type.h
r114 r128 130 130 static bool StringToType( const string &typeName, Type &type ); 131 131 }; 132 133 class BlittableType 134 { 135 Type basicType; 136 CClass *pClass; 137 public: 138 BlittableType( const Type &basicType, CClass *pClass ) 139 : basicType( basicType ) 140 , pClass( pClass ) 141 { 142 } 143 BlittableType(){} 144 const Type &GetBasicType() const 145 { 146 return basicType; 147 } 148 const CClass *GetClassPtr() const 149 { 150 return pClass; 151 } 152 const string GetCreateStaticMethodFullName() const; 153 }; 154 class BlittableTypes : public vector<BlittableType> 155 { 156 public: 157 bool IsExist( Type type ) const 158 { 159 const BlittableTypes &blittableTypes = *this; 160 BOOST_FOREACH( const BlittableType &blittableType, blittableTypes ){ 161 if( blittableType.GetBasicType().Equals( type ) ){ 162 return true; 163 } 164 } 165 return false; 166 } 167 const BlittableType &Find( const Type &type ) const 168 { 169 const BlittableTypes &blittableTypes = *this; 170 BOOST_FOREACH( const BlittableType &blittableType, blittableTypes ){ 171 if( blittableType.GetBasicType().Equals( type ) ){ 172 return blittableType; 173 } 174 } 175 throw "Blittable型ではない"; 176 } 177 const CClass *GetClassPtr( const Type &type ) const 178 { 179 const BlittableTypes &blittableTypes = *this; 180 BOOST_FOREACH( const BlittableType &blittableType, blittableTypes ){ 181 if( blittableType.GetBasicType().Equals( type ) ){ 182 return blittableType.GetClassPtr(); 183 } 184 } 185 return NULL; 186 } 187 const CClass &GetClass( const Type &type ) const 188 { 189 return *GetClassPtr( type ); 190 } 191 };
Note:
See TracChangeset
for help on using the changeset viewer.