1 #ifndef JOBOPTIONSVC_PROPERTY_VALUE_H_ 2 #define JOBOPTIONSVC_PROPERTY_VALUE_H_ 13 #include <boost/variant.hpp> 17 namespace Gaudi {
namespace Parsers {
22 typedef boost::variant<std::string, std::vector<std::string>,
39 VectorOfStrings&
Vector() {
return boost::get<VectorOfStrings>(
value_);}
40 const VectorOfStrings&
Vector()
const {
41 return boost::get<VectorOfStrings>(
value_);}
43 MapOfStrings&
Map() {
return boost::get<MapOfStrings>(
value_);}
44 const MapOfStrings&
Map()
const {
return boost::get<MapOfStrings>(
value_);}
71 std::runtime_error(message){}
92 "Could not find property "+name+
".");
99 "Could not find property '"+name+
"'.");
106 "Could not find unit '"+name+
"'.");
116 #endif // JOBOPTIONSVC_PROPERTY_VALUE_H_ const PropertyValue operator-(const PropertyValue &right)
std::vector< std::string > VectorOfStrings
std::map< std::string, std::string > MapOfStrings
const std::string & String() const
PropertyValue(Value value, bool is_reference=false)
static PositionalPropertyValueException CouldNotFind(const Position &position, const std::string &name)
virtual ~PositionalPropertyValueException()
const MapOfStrings & Map() const
PositionalPropertyValueException(const Position &position, const std::string &message)
static PositionalPropertyValueException CouldNotFindUnit(const Position &position, const std::string &name)
const VectorOfStrings & Vector() const
PropertyValueException(const std::string &message)
PropertyValue(Value value, const Position &position, bool is_reference=false)
static PropertyValueException WrongRValue()
const Position & position() const
boost::variant< std::string, std::vector< std::string >, std::map< std::string, std::string > > Value
VectorOfStrings & Vector()
PropertyValue & operator+=(const PropertyValue &right)
const Position & position() const
static PositionalPropertyValueException CouldNotFindProperty(const Position &position, const std::string &name)
const PropertyValue operator+(const PropertyValue &right)
PropertyValue & operator-=(const PropertyValue &right)
std::string ToString() const
static PropertyValueException WrongLValue()
Helper functions to set/get the application return code.