#pragma once #include class CEnumMember{ public: char *m_name; int m_value; CEnumMember(char *name,int value); ~CEnumMember(); }; class CEnumParent{ NamespaceScopes namespaceScopes; string name; BOOL bConst; CEnumMember **ppobj_EnumMember; int iEnumMemberNum; public: CEnumParent( const NamespaceScopes &namespaceScopes, const char *buffer,int nowLine); ~CEnumParent(); const NamespaceScopes &GetNamespaceScopes() const { return namespaceScopes; } const string &GetName() const { return name; } public: static void InitEnum(void); static void DestroyEnum(void); static char *GenerateSourceCode(void); }; extern CEnumParent **ppobj_EnumParent; extern int iEnumParentNum;