diff options
Diffstat (limited to 'src/cachecalc.h')
| -rw-r--r-- | src/cachecalc.h | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/src/cachecalc.h b/src/cachecalc.h index 289c4ac..dd9712f 100644 --- a/src/cachecalc.h +++ b/src/cachecalc.h | |||
| @@ -1,25 +1,49 @@ | |||
| 1 | #ifndef BU_CACHE_CALC_H | 1 | #ifndef BU_CACHE_CALC_H |
| 2 | #define BU_CACHE_CALC_H | 2 | #define BU_CACHE_CALC_H |
| 3 | 3 | ||
| 4 | #include "bu/trace.h" | ||
| 5 | |||
| 4 | namespace Bu | 6 | namespace Bu |
| 5 | { | 7 | { |
| 8 | template<class obtype, class keytype> class Cache; | ||
| 9 | |||
| 6 | template<class obtype, class keytype> | 10 | template<class obtype, class keytype> |
| 7 | class CacheCalc | 11 | class CacheCalc |
| 8 | { | 12 | { |
| 13 | friend class Cache<obtype, keytype>; | ||
| 14 | private: | ||
| 15 | typedef Cache<obtype, keytype> MyCache; | ||
| 9 | public: | 16 | public: |
| 10 | CacheCalc() | 17 | CacheCalc() : |
| 18 | pCache( (MyCache *)0 ) | ||
| 11 | { | 19 | { |
| 20 | TRACE(); | ||
| 12 | } | 21 | } |
| 13 | 22 | ||
| 14 | virtual ~CacheCalc() | 23 | virtual ~CacheCalc() |
| 15 | { | 24 | { |
| 25 | TRACE(); | ||
| 16 | } | 26 | } |
| 17 | 27 | ||
| 18 | virtual void onLoad( obtype *pSrc, const keytype &key )=0; | 28 | virtual void onLoad( obtype *pSrc, const keytype &key )=0; |
| 19 | virtual void onUnload( obtype *pSrc, const keytype &key )=0; | 29 | virtual void onUnload( obtype *pSrc, const keytype &key )=0; |
| 20 | virtual void onTick() { }; | 30 | virtual void onTick() { }; |
| 21 | 31 | ||
| 32 | protected: | ||
| 33 | MyCache *getCache() | ||
| 34 | { | ||
| 35 | TRACE(); | ||
| 36 | return pCache; | ||
| 37 | } | ||
| 38 | |||
| 22 | private: | 39 | private: |
| 40 | void setCache( MyCache *pCache ) | ||
| 41 | { | ||
| 42 | TRACE(); | ||
| 43 | this->pCache = pCache; | ||
| 44 | } | ||
| 45 | |||
| 46 | MyCache *pCache; | ||
| 23 | }; | 47 | }; |
| 24 | }; | 48 | }; |
| 25 | 49 | ||
