58 std::map<string, vector<OptionValue*> >::iterator i =
options_.begin();
59 vector<OptionValue*>::iterator j;
61 j = (*i).second.begin();
62 for (; j != (*i).second.end(); j++) {
80 vector<OptionValue*> values;
81 values = MapTools::valueForKey<vector<OptionValue*> >(
options_, name);
85 if (
typeid(*option) ==
typeid(other)) {
86 values.push_back(option);
88 options_.insert(pair<
string, vector<OptionValue*> >(name, values));
90 string procName =
"Options::addOptionValue";
92 "Type of new OptionValue differs from the type of old values";
93 throw TypeMismatch(__FILE__, __LINE__, procName, errorMsg);
96 vector<OptionValue*> values;
97 values.push_back(option);
98 options_.insert(pair<
string, vector<OptionValue*> >(name, values));
116 if (index < 0 || index >
valueCount(name) - 1) {
117 string procName =
"OptionValue::optionValue";
118 throw OutOfRange(__FILE__, __LINE__, procName);
120 vector<OptionValue*> values;
121 values = MapTools::valueForKey<vector<OptionValue*> >(
options_,name);
123 return *values[values.size() - index - 1];
135 vector<OptionValue*> values;
137 values = MapTools::valueForKey<vector<OptionValue*> >(
options_,name);
139 string procName =
"OptionValue::valueCount";
142 return values.size();