]> git.tdb.fi Git - poefilter.git/blobdiff - source/rangecondition.h
Tighten some parameters and return values
[poefilter.git] / source / rangecondition.h
index ad54e0a0582f6e89cdd3b1834cc06a88aa334e70..a72fec2d1475db075baffbeb1ed46aa3979480e0 100644 (file)
@@ -21,7 +21,7 @@ public:
 
        virtual RangeCondition<T> *clone() const;
        virtual bool can_merge(const Condition &, const CompoundCondition &) const;
-       virtual RangeCondition<T> *merge(const std::vector<Condition *> &, const CompoundCondition &) const;
+       virtual RangeCondition<T> *merge(const std::vector<const Condition *> &, const CompoundCondition &) const;
        virtual bool is_viable() const { return min<=max; }
        virtual void add_lines(std::list<FilterStatement> &) const;
 };
@@ -149,7 +149,7 @@ bool RangeCondition<T>::can_merge(const Condition &other, const CompoundConditio
 }
 
 template<typename T>
-RangeCondition<T> *RangeCondition<T>::merge(const std::vector<Condition *> &conditions, const CompoundCondition &parent) const
+RangeCondition<T> *RangeCondition<T>::merge(const std::vector<const Condition *> &conditions, const CompoundCondition &parent) const
 {
        if(conditions.empty())
                return 0;
@@ -160,9 +160,9 @@ RangeCondition<T> *RangeCondition<T>::merge(const std::vector<Condition *> &cond
                result = new RangeCondition<T>(Traits::get_min(), Traits::get_max());
        else
                result = new RangeCondition<T>(Traits::get_max(), Traits::get_min());
-       for(std::vector<Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
+       for(std::vector<const Condition *>::const_iterator i=conditions.begin(); i!=conditions.end(); ++i)
        {
-               const RangeCondition<T> *c = static_cast<RangeCondition<T> *>(*i);
+               const RangeCondition<T> *c = static_cast<const RangeCondition<T> *>(*i);
                if(intersect)
                {
                        result->min = std::max(result->min, c->min);