CompoundCondition::~CompoundCondition()
{
- for(list<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+ for(vector<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
delete *i;
}
void CompoundCondition::clone_to(CompoundCondition &other) const
{
- for(list<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+ for(vector<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
other.add((*i)->clone());
}
void AndCondition::add_lines(list<FilterStatement> &st) const
{
- for(list<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+ for(vector<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
(*i)->add_lines(st);
}
void OrCondition::add_lines(list<FilterStatement> &st) const
{
bool merge = conditions.size()>1;
- for(list<Condition *>::const_iterator i=conditions.begin(); (merge && ++i!=conditions.end()); )
+ for(vector<Condition *>::const_iterator i=conditions.begin(); (merge && ++i!=conditions.end()); )
merge = conditions.front()->can_merge(**i, *this);
if(merge)
else
{
list<FilterStatement> result;
- for(list<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+ for(vector<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
{
list<FilterStatement> sub_result = st;
(*i)->add_lines(sub_result);