diff options
author | Marius Kintel <marius@kintel.net> | 2011-09-11 09:07:18 (GMT) |
---|---|---|
committer | Marius Kintel <marius@kintel.net> | 2011-09-11 09:07:18 (GMT) |
commit | d25e197ac7d72214bbdc2753ef84104932c625dd (patch) | |
tree | d0496a0b6679c415e0b2c4c0089e066d8eb181b9 /src/CGALCache.h | |
parent | 95949cf961d84f65ad9bfb9f2dec7361059ca515 (diff) |
Forgot to commit CGALCache class
Diffstat (limited to 'src/CGALCache.h')
-rw-r--r-- | src/CGALCache.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/CGALCache.h b/src/CGALCache.h new file mode 100644 index 0000000..7d3a2d9 --- /dev/null +++ b/src/CGALCache.h @@ -0,0 +1,28 @@ +#ifndef CGALCACHE_H_ +#define CGALCACHE_H_ + +#include "myqhash.h" +#include <QCache> + +/*! +*/ +class CGALCache +{ +public: + CGALCache(size_t limit = 100000) : cache(limit) {} + + static CGALCache *instance() { if (!inst) inst = new CGALCache; return inst; } + + bool contains(const std::string &id) const { return this->cache.contains(id); } + const class CGAL_Nef_polyhedron &get(const std::string &id) const { return *this->cache[id]; } + void insert(const std::string &id, const CGAL_Nef_polyhedron &N); + void clear() { cache.clear(); } + void print(); + +private: + static CGALCache *inst; + + QCache<std::string, CGAL_Nef_polyhedron> cache; +}; + +#endif |