summaryrefslogtreecommitdiff
path: root/src/ModuleCache.h
diff options
context:
space:
mode:
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