21 #ifndef mia_core_datapool_hh
22 #define mia_core_datapool_hh
25 #include <boost/any.hpp>
28 #include <tbb/recursive_mutex.h>
58 void add(
const std::string& key, boost::any value);
63 boost::any
get(
const std::string& key)
const;
70 boost::any get_and_remove(
const std::string& key);
76 bool has_key(
const std::string& key)
const;
86 bool has_unused_data()
const;
96 typedef std::map<std::string, boost::any> Anymap;
97 typedef Anymap::const_iterator const_iterator;
98 const_iterator get_iterator(
const std::string& key)
const;
100 typedef std::map<std::string,bool> Usagemap;
101 mutable Usagemap m_usage;
102 static tbb::recursive_mutex m_mutex;