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;
{ }
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>
}
-Condition *AndCondition::clone() const
+AndCondition *AndCondition::clone() const
{
AndCondition *result = new AndCondition;
clone_to(*result);
}
-Condition *OrCondition::clone() const
+OrCondition *OrCondition::clone() const
{
OrCondition *result = new OrCondition;
clone_to(*result);
colors(c)
{ }
-Condition *LinkedColorsCondition::clone() const
+LinkedColorsCondition *LinkedColorsCondition::clone() const
{
return new LinkedColorsCondition(colors);
}
class AndCondition: public CompoundCondition
{
public:
- virtual Condition *clone() const;
+ virtual AndCondition *clone() const;
virtual void add_lines(std::list<FilterStatement> &) const;
};
class OrCondition: public CompoundCondition
{
public:
- virtual Condition *clone() const;
+ virtual OrCondition *clone() const;
virtual void add_lines(std::list<FilterStatement> &) const;
};
public:
LinkedColorsCondition(const Colors &);
- virtual Condition *clone() const;
+ virtual LinkedColorsCondition *clone() const;
virtual void add_lines(std::list<FilterStatement> &) const;
};
RangeCondition(Type);
RangeCondition(Type, Type);
- virtual Condition *clone() const;
+ virtual RangeCondition<T> *clone() const;
virtual void add_lines(std::list<FilterStatement> &) const;
};
{ }
template<typename T>
-Condition *RangeCondition<T>::clone() const
+RangeCondition<T> *RangeCondition<T>::clone() const
{
return new RangeCondition<T>(min, max);
}