summaryrefslogtreecommitdiff
path: root/project2/cache.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'project2/cache.cpp')
-rw-r--r--project2/cache.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/project2/cache.cpp b/project2/cache.cpp
index bdf012b..32dc3c5 100644
--- a/project2/cache.cpp
+++ b/project2/cache.cpp
@@ -2,6 +2,7 @@
#include "rowSet.h"
#include "rowProcessor.h"
#include "logger.h"
+#include <boost/foreach.hpp>
Cache::Cache(const xmlpp::Element * p) :
IHaveParameters(p),
@@ -26,3 +27,16 @@ bool Cache::checkAndExecute(const Glib::ustring & n, const Glib::ustring & f, co
return false;
}
+void
+Cache::applyKeys(const boost::function2<void, const std::string &, const VariableType &> & f, const IHaveParameters * ps) const
+{
+ BOOST_FOREACH(const IHaveParameters::Parameters::value_type & p, allParameters()) {
+ f(p.first, p.second->value());
+ }
+ if (inherit) {
+ BOOST_FOREACH(const IHaveParameters::Parameters::value_type & p, ps->allParameters()) {
+ f(p.first, p.second->value());
+ }
+ }
+}
+