- std::string line = Traits::get_keyword();
- for(std::list<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
- line += Msp::format(" \"%s\"", static_cast<const ChoiceCondition<Traits> *>(*i)->value);
- FilterStatement::add_line(st, line);
+ ChoiceCondition<T> *result = 0;
+ for(std::vector<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+ {
+ const std::vector<Type> &v = static_cast<ChoiceCondition<T> *>(*i)->values;
+ if(!result)
+ result = new ChoiceCondition<T>(v);
+ else
+ result->values.insert(result->values.end(), v.begin(), v.end());
+ }
+ return result;