16 #include <boost/bind.hpp>
37 : m_stringValues(rhs.m_stringValues ? new
std::vector<
std::
string>(*(rhs.m_stringValues)) : nullptr),
38 m_keyValues(rhs.m_keyValues ? new
KeyValues(*(rhs.m_keyValues)) : nullptr),
39 m_version(rhs.m_version) {}
59 throw std::runtime_error(
"adding key/value to configuration containing string values");
64 m_keyValues->push_back(std::make_pair(iKey, iConfig));
70 throw std::runtime_error(
"adding key/value to configuration containing string values");
73 throw std::runtime_error(
"adding key/value to configuration containing string values");
84 m_keyValues->push_back(std::make_pair(iKey, iConfig));
95 throw std::runtime_error(
"adding string value to configuration containing key/value pairs");
116 throw std::runtime_error(
"no string values set");
123 throw std::runtime_error(
"valueFoKey fails because configuration containing string values");
126 throw std::runtime_error(
"valueForKey fails becuase no key/values set");
128 KeyValues::iterator itFind = std::find_if(
m_keyValues->begin(),
134 return &(itFind->second);
193 static int recursionLevel = -1;
198 for (FWConfiguration::StringValues::const_iterator it = iConfig.
stringValues()->begin();
205 for (FWConfiguration::KeyValues::const_iterator it = iConfig.
keyValues()->begin(); it != iConfig.
keyValues()->end();