#include "configuration.hh" using namespace std ; namespace po = boost::program_options ; /* *** Attribute definitions *** */ po::variables_map Configuration::configuration ; /* *** Read accessors *** */ po::variables_map& Configuration::getw_configuration() { return configuration ; } bool Configuration::is_configured(const string &key) { if (configuration.count(key)) return true ; return false ; } const std::string& Configuration::string_value(const string &key) { return configuration[key].as() ; } int Configuration::int_value(const string &key) { return configuration[key].as() ; } bool Configuration::bool_value(const string &key) { return configuration[key].as() ; } bool Configuration:: value_exists_in_string_vector(const string &key, const string &value) { if (! is_configured(key)) return false ; vector key_values = configuration[key].as< vector >() ; for (vector::const_iterator i = key_values.begin() ; i != key_values.end() ; ++i) if (*i == value) return true ; return false ; } const vector& Configuration::string_vector_value(const string &key) { return configuration[key].as< vector >() ; }