]> git.tdb.fi Git - poefilter.git/blobdiff - source/choicecondition.h
Use covariant return type for Condition::clone
[poefilter.git] / source / choicecondition.h
index 6e2954dbf04790ea6ebfb1a3530463880dcf2b93..170af0e0634a27c4615eb6d5b35e1db8c6168601 100644 (file)
@@ -17,7 +17,7 @@ private:
 public:
        ChoiceCondition(Type);
 
-       virtual Condition *clone() const;
+       virtual ChoiceCondition<T> *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::vector<Condition *> &, const CompoundCondition &, std::list<FilterStatement> &) const;
@@ -48,9 +48,9 @@ ChoiceCondition<T>::ChoiceCondition(Type v):
 { }
 
 template<typename T>
-Condition *ChoiceCondition<T>::clone() const
+ChoiceCondition<T> *ChoiceCondition<T>::clone() const
 {
-       return new ChoiceCondition<T>(values);
+       return new ChoiceCondition<T>(value);
 }
 
 template<typename T>