00001
00002 #ifndef __matter_cache_hpp__
00003 #define __matter_cache_hpp__
00004
00005 #include <vector>
00006
00007 #include <crbn/basic/basic.h>
00008
00009 #include <crbn/matter/matter.hpp>
00010
00011 typedef struct _mc_entry mc_entry;
00012
00013 class mCache
00014 {
00015 public:
00016 mCache();
00017 ~mCache();
00018
00019 uint32 memory() { return _memory_used; }
00020 void clear();
00021
00022 int32 add( Matter* matter, char* module_name );
00023 Matter* get( int32 index );
00024 void release( int32 index );
00025 private:
00026 uint32 _memory_used;
00027 std::vector<mc_entry> _list;
00028 };
00029
00030 #endif // __matter_cache_hpp__