18 #ifndef TYPE_SELECTION_HH_ 19 #define TYPE_SELECTION_HH_ 73 <<
"Key " << EI_KeyName::qval <<
" not found in Selection:\n" << EI_Selection::val );
75 <<
"Value " << EI_Value::val <<
" not found in Selection:\n" << EI_Selection::val );
97 Selection(
const string &name,
const std::string &description =
"");
144 inline keys_const_iterator
begin()
const;
151 inline keys_const_iterator
end()
const;
154 inline keys_const_iterator
key_iterator(
const string& key)
const;
174 inline bool has_name(
const string &key)
const;
177 inline bool has_value(
const int &val)
const;
180 inline unsigned int size()
const;
218 void add_value(
const int value,
const std::string &key,
249 std::shared_ptr<SelectionData>
data_;
264 return (
data_->key_to_index_.find(key_h) !=
data_->key_to_index_.end());
271 return (
data_->value_to_index_.find(val) !=
data_->value_to_index_.end());
279 return data_->keys_.size();
294 return data_->keys_.begin();
302 return data_->keys_.end();
#define ASSERT(expr)
Allow use shorter versions of macro names if these names is not used with external library...
#define ASSERT_EQ(a, b)
Definition of comparative assert macro (EQual)