]> git.tdb.fi Git - poefilter.git/blobdiff - source/condition.cpp
Favor vector over list for simple types
[poefilter.git] / source / condition.cpp
index 12ee7301a33dd21a1ab9387089665a32024fb2e6..9ff02aa322db9f93bbf8ce6f623a1471666d51cd 100644 (file)
@@ -6,13 +6,13 @@ using namespace Msp;
 
 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());
 }
 
@@ -31,7 +31,7 @@ Condition *AndCondition::clone() const
 
 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);
 }
 
@@ -46,7 +46,7 @@ Condition *OrCondition::clone() const
 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)
@@ -54,7 +54,7 @@ void OrCondition::add_lines(list<FilterStatement> &st) const
        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);