8 #ifndef __mp7_parameters_hpp__ 9 #define __mp7_parameters_hpp__ 15 #include <boost/unordered_map.hpp> 16 #include <boost/any.hpp> 20 class Parameters :
private boost::unordered_map<std::string, boost::any> {
21 typedef boost::unordered_map<std::string, boost::any>
parent;
32 void set(
const std::string& aKey,
const T& aValue) {
33 this->operator[](aKey) = aValue;
37 T
get(
const std::string& aKey)
const {
38 const_iterator it = this->find(aKey);
40 if (it == this->end())
throw std::runtime_error(
"Parameter not found");
42 return boost::any_cast<T>(it->second);
45 std::set<std::string>
names()
const {
46 std::set<std::string>
names;
47 for( const_iterator it = begin(); it != end(); ++it)
48 names.insert(it->first);
53 void set(
const std::string& aKey,
const char* aValue ) {
54 this->parent::operator[](aKey) = std::string(aValue) ;
58 return this->parent::operator[](aKey);
std::set<std::string> names() const
Definition: Parameters.hpp:45
-test-ipbusaccess
Definition: AlignmentNode.hpp:15
Object& operator []( const std::string& aKey )
Definition: Parameters.hpp:57
virtual ~Parameters()
Definition: Parameters.hpp:28
Parameters()
Definition: Parameters.hpp:25
boost::any Object
Definition: Parameters.hpp:23
boost::unordered_map<std::string, boost::any> parent
Definition: Parameters.hpp:21