]> git.tdb.fi Git - poefilter.git/blobdiff - source/choicecondition.h
Change template parameter name to not be the same as the typedef for it
[poefilter.git] / source / choicecondition.h
index 5a453290d2315387cdaae76debd9d86cd8144322..6e2954dbf04790ea6ebfb1a3530463880dcf2b93 100644 (file)
@@ -20,7 +20,7 @@ public:
        virtual Condition *clone() const;
        virtual bool can_merge(const Condition &, const CompoundCondition &) const;
        virtual void add_lines(std::list<FilterStatement> &) const;
-       virtual void add_merged_lines(const std::list<Condition *> &, const CompoundCondition &, std::list<FilterStatement> &) const;
+       virtual void add_merged_lines(const std::vector<Condition *> &, const CompoundCondition &, std::list<FilterStatement> &) const;
 };
 
 
@@ -42,37 +42,37 @@ struct BaseTypeTraits
 typedef ChoiceCondition<BaseTypeTraits> BaseTypeCondition;
 
 
-template<typename Traits>
-ChoiceCondition<Traits>::ChoiceCondition(Type v):
+template<typename T>
+ChoiceCondition<T>::ChoiceCondition(Type v):
        value(v)
 { }
 
-template<typename Traits>
-Condition *ChoiceCondition<Traits>::clone() const
+template<typename T>
+Condition *ChoiceCondition<T>::clone() const
 {
-       return new ChoiceCondition<Traits>(value);
+       return new ChoiceCondition<T>(values);
 }
 
-template<typename Traits>
-bool ChoiceCondition<Traits>::can_merge(const Condition &other, const CompoundCondition &parent) const
+template<typename T>
+bool ChoiceCondition<T>::can_merge(const Condition &other, const CompoundCondition &parent) const
 {
-       return dynamic_cast<const ChoiceCondition<Traits> *>(&other) && dynamic_cast<const OrCondition *>(&parent);
+       return dynamic_cast<const ChoiceCondition<T> *>(&other) && dynamic_cast<const OrCondition *>(&parent);
 }
 
-template<typename Traits>
-void ChoiceCondition<Traits>::add_lines(std::list<FilterStatement> &st) const
+template<typename T>
+void ChoiceCondition<T>::add_lines(std::list<FilterStatement> &st) const
 {
        const char *keyword = Traits::get_keyword();
        FilterStatement::add_line(st, Msp::format("%s \"%s\"", keyword, value));
 }
 
-template<typename Traits>
-void ChoiceCondition<Traits>::add_merged_lines(const std::list<Condition *> &conditions, const CompoundCondition &parent, std::list<FilterStatement> &st) const
+template<typename T>
+void ChoiceCondition<T>::add_merged_lines(const std::vector<Condition *> &conditions, const CompoundCondition &parent, std::list<FilterStatement> &st) const
 {
        if(dynamic_cast<const OrCondition *>(&parent))
        {
                std::string line = Traits::get_keyword();
-               for(std::list<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+               for(std::vector<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);
        }