Changeset 11336 for trunk/FACT++/src
- Timestamp:
- 07/11/11 11:09:11 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/src/Configuration.h
r11329 r11336 131 131 // Simplified access to the parsed options 132 132 template<class T> 133 T Get(const char *var) const { return fVariables[var].as<T>(); } 134 bool Has(const char *var) const { return fVariables.count(var)>0; } 135 136 template<class T> 137 std::map<std::string, T> GetMap(const std::string &var) const 133 T Get(const std::string &var) const { return fVariables[var].as<T>(); } 134 bool Has(const std::string &var) const { return fVariables.count(var)>0; } 135 136 template<class T, class S> 137 T Get(const std::string &var, const S &val) const 138 { 139 std::ostringstream str; 140 str << var << val; 141 return Get<T>(str.str()); 142 } 143 144 template<class T> 145 bool Has(const std::string &var, const T &val) const 146 { 147 std::ostringstream str; 148 str << var << val; 149 return Has(str.str()); 150 } 151 152 template<class T, class S> 153 T GetDef(const std::string &var, const S &val) const 154 { 155 return Has(var, val) ? Get<T>(var, val) : Get<T>(var+"default"); 156 } 157 158 template<class T> 159 bool HasDef(const std::string &var, const T &val) const 160 { 161 return Has(var, val) ? true : Has(var+"default"); 162 } 163 164 template<class T> 165 std::map<std::string, T> GetMap(const std::string &var) const 138 166 { 139 167 const size_t len = var.length(); … … 149 177 150 178 template<class T> 151 179 std::vector<std::string> GetKeys(const std::string &var) const 152 180 { 153 181 const size_t len = var.length(); … … 165 193 }; 166 194 195 template<typename T> 196 struct Hex 197 { 198 T val; 199 Hex() { } 200 Hex(const T &v) : val(v) { } 201 operator T() const { return val; } 202 }; 203 template<typename T> 204 std::istream &operator>>(std::istream &in, Hex<T> &rc) 205 { 206 T val; 207 in >> std::hex >> val; 208 rc.val = val; 209 return in; 210 } 211 167 212 template<class T> 168 213 inline po::typed_value<T> *var(T *ptr=0)
Note:
See TracChangeset
for help on using the changeset viewer.