Initial
This commit is contained in:
46
mdiwin/CACHE.HPP
Normal file
46
mdiwin/CACHE.HPP
Normal file
@@ -0,0 +1,46 @@
|
||||
#ifndef _CACHE_HPP_
|
||||
#define _CACHE_HPP_
|
||||
#include <mdiwin/windows.hpp>
|
||||
#include <mdiwin/vector.hpp>
|
||||
|
||||
template <class K,class T,size_t N>
|
||||
class Cache
|
||||
{
|
||||
public:
|
||||
Cache(void);
|
||||
~Cache();
|
||||
WORD locateItem(const K &someKeyItem,T &someDataItem);
|
||||
void insertItem(const K &someKeyItem,const T &someDataItem);
|
||||
private:
|
||||
Vector<T> mDataItem;
|
||||
Vector<K> mKeyItem;
|
||||
LONG mEntries;
|
||||
};
|
||||
|
||||
template <class K,class T,size_t N>
|
||||
inline
|
||||
Cache<K,T,N>::Cache(void)
|
||||
: mEntries(0L)
|
||||
{
|
||||
mDataItem.size(N);
|
||||
mKeyItem.size(N);
|
||||
}
|
||||
|
||||
template <class K,class T,size_t N>
|
||||
inline
|
||||
Cache<K,T,N>::~Cache()
|
||||
{
|
||||
}
|
||||
|
||||
template <class K,class T,size_t N>
|
||||
inline
|
||||
void Cache<K,T,N>::insertItem(const K &someKeyItem,const T &someDataItem)
|
||||
{
|
||||
if(mEntries>=N)mEntries=0L;
|
||||
mKeyItem[mEntries]=someKeyItem;
|
||||
mDataItem[mEntries]=someDataItem;
|
||||
mEntries++;
|
||||
}
|
||||
#include <mdiwin/cache.tpp>
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user