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());
}
}
-Condition *AndCondition::clone() const
+AndCondition *AndCondition::clone() const
{
AndCondition *result = new AndCondition;
clone_to(*result);
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);
}
-Condition *OrCondition::clone() const
+OrCondition *OrCondition::clone() const
{
OrCondition *result = new OrCondition;
clone_to(*result);
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);
colors(c)
{ }
-Condition *LinkedColorsCondition::clone() const
+LinkedColorsCondition *LinkedColorsCondition::clone() const
{
return new LinkedColorsCondition(colors);
}