class I2_BASE_API Type
{
public:
+ virtual Type *GetBaseType(void) const = 0;
virtual int GetFieldId(const String& name) const = 0;
virtual Field GetFieldInfo(int id) const = 0;
virtual int GetFieldCount(void) const = 0;
<< "{" << std::endl
<< "public:" << std::endl;
+ /* GetBaseType */
+ std::cout << "\t" << "virtual Type *GetBaseType(void) const" << std::endl
+ << "\t" << "{" << std::endl;
+
+ std::cout << "\t\t" << "return ";
+
+ if (!klass.Parent.empty())
+ std::cout << "Singleton<TypeImpl<" << klass.Parent << "> >::GetInstance()";
+ else
+ std::cout << "NULL";
+
+ std::cout << ";" << std::endl
+ << "\t" << "}" << std::endl << std::endl;
+
/* GetFieldId */
std::cout << "\t" << "virtual int GetFieldId(const String& name) const" << std::endl
<< "\t" << "{" << std::endl