#pragma once #include "TypeDef.h" #include "Namespace.h" #include "Procedure.h" #include "Class.h" // プロジェクト中に存在するメタ情報 class Meta { ProcPointers *pProcPointers; public: Meta( ProcPointers *pNewProcPointers ) : pProcPointers( pNewProcPointers ) { } Meta() { } ~Meta() { delete pProcPointers; } // 名前空間 NamespaceScopesCollection namespaceScopesCollection; // クラス virtual Classes &GetClasses() = 0; virtual void SetClasses( Classes *pClasses ) = 0; virtual bool AutoWrite( const std::string &filePath ) = 0; // TypeDef TypeDefCollection typeDefs; // 関数ポインタ ProcPointers &GetProcPointers() { return *pProcPointers; } // blittable型 BlittableTypes blittableTypes; // XMLシリアライズ用 private: friend class boost::serialization::access; template void serialize(Archive& ar, const unsigned int version) { } };