summaryrefslogtreecommitdiff
path: root/src/ModuleCache.h
diff options
context:
space:
mode:
authorDon Bright <hugh.m.bright@gmail.com>2012-05-28 16:48:46 (GMT)
committerDon Bright <hugh.m.bright@gmail.com>2012-05-28 16:48:46 (GMT)
commitdd2002a81673b3875ce8c4e8a61cb10278c4eb03 (patch)
tree7aaadf1c9b12cd37a7a913d3e76256f6406fa939 /src/ModuleCache.h
parent4381762f5aa2e6a56258618e585e1510ead88684 (diff)
parent67eb2ebe90447e966dc1e08b91c43d937c521583 (diff)
Tidy up code. Generate proper test png images. Merge branch 'master' into caliston1.
Conflicts: src/PolySetCGALEvaluator.cc
Diffstat (limited to 'src/ModuleCache.h')
-rw-r--r--src/ModuleCache.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/src/ModuleCache.h b/src/ModuleCache.h
new file mode 100644
index 0000000..1e6373d
--- /dev/null
+++ b/src/ModuleCache.h
@@ -0,0 +1,23 @@
+#include <string>
+#include <boost/unordered_map.hpp>
+
+class ModuleCache
+{
+public:
+ static ModuleCache *instance() { if (!inst) inst = new ModuleCache; return inst; }
+ class Module *evaluate(const std::string &filename);
+ size_t size() { return this->entries.size(); }
+ void clear();
+
+private:
+ ModuleCache() {}
+ ~ModuleCache() {}
+
+ static ModuleCache *inst;
+
+ struct cache_entry {
+ class Module *module;
+ std::string cache_id;
+ };
+ boost::unordered_map<std::string, cache_entry> entries;
+};
contact: Jan Huwald // Impressum