00001 //------------------------------------------------- 00002 // 00017 // 00018 //-------------------------------------------------- 00019 #ifndef DT_CACHE_H 00020 #define DT_CACHE_H 00021 00022 #include <vector> 00023 00024 template<class T, class Coll=std::vector<T> > class DTCache { 00025 00026 public: 00027 00028 typedef T my_type; 00029 typedef Coll my_collection; 00030 typedef typename my_collection::iterator iterator; 00031 typedef typename my_collection::const_iterator const_iterator; 00032 00033 public: 00034 00036 DTCache(){} 00037 00039 virtual ~DTCache(){} 00040 00042 const_iterator begin() const { return _cache.begin();} 00043 00045 const_iterator end() const {return _cache.end();} 00046 00048 int size() const {return _cache.size();} 00049 00051 void clearCache() {_cache.clear();} 00052 00054 virtual void reconstruct() {} 00055 00056 protected: 00057 00058 my_collection _cache; 00059 00060 }; 00061 #endif