Files
Work/mdiwin/CACHE.HPP
2024-08-07 09:16:27 -04:00

47 lines
853 B
C++

#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