/TGame/TData/Manager/DataManagerImp.h
http://awoe.googlecode.com/ · C Header · 72 lines · 31 code · 19 blank · 22 comment · 0 complexity · 1aab3243cb0bb64ace198ed3e25ca063 MD5 · raw file
- #ifndef __DATA_TABLE_IMP__
- #define __DATA_TABLE_IMP__
-
- #include "DataManagerIf.h"
- #include <hash_map>
-
- //
- // Data Manager that use id only
- //
- class TDATA_API DataManagerImp : public IDataManager
- {
- public:
- DataManagerImp();
- virtual ~DataManagerImp();
-
-
- //
- // IData
- //
- virtual bool set(IData* pData) ;
- virtual IData* get(const int& nID, const int& nGrpID )const;
-
-
- //
- // Table Size
- //
- virtual int size()const ;
-
- //
- // Iterator
- virtual bool forEach(IDataVisitor& v);
- private:
- typedef stdext::hash_map<int, IData*> DataMap;
-
- DataMap m_theDataM;
- };
-
-
-
- //
- // Data Manger the use both group id and id
- //
- class TDATA_API DataManagerImpG : public IDataManager
- {
- public:
- DataManagerImpG();
- virtual ~DataManagerImpG();
-
-
- //
- // IData
- //
- virtual bool set(IData* pData) ;
- virtual IData* get(const int& nID, const int& nGrpID )const;
-
-
- //
- // Table Size
- //
- virtual int size()const ;
-
- //
- // Iterator
- virtual bool forEach(IDataVisitor& v);
- private:
- typedef stdext::hash_map<__int64, IData*> DataMap;
-
- DataMap m_theDataM;
- };
-
- #endif