diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/mbgl/style/expression/interpolate.hpp | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/include/mbgl/style/expression/interpolate.hpp b/include/mbgl/style/expression/interpolate.hpp index 1f73fc14b4..1a98189e29 100644 --- a/include/mbgl/style/expression/interpolate.hpp +++ b/include/mbgl/style/expression/interpolate.hpp @@ -55,7 +55,23 @@ public: ); } + bool operator==(const Expression& e) const override { + if (auto rhs = dynamic_cast<const InterpolateBase*>(&e)) { + if (interpolator != rhs->interpolator || + *input != *(rhs->input) || + stops.size() != rhs->stops.size()) + { + return false; + } + + return Expression::childrenEqual(stops, rhs->stops); + } + return false; + } + std::vector<optional<Value>> possibleOutputs() const override; + mbgl::Value serialize() const override; + std::string getOperator() const override { return "interpolate"; } protected: const Interpolator interpolator; @@ -130,23 +146,6 @@ public: return util::interpolate(lower->get<T>(), upper->get<T>(), t); } } - - bool operator==(const Expression& e) const override { - if (auto rhs = dynamic_cast<const Interpolate*>(&e)) { - if (interpolator != rhs->interpolator || - *input != *(rhs->input) || - stops.size() != rhs->stops.size()) - { - return false; - } - - return Expression::childrenEqual(stops, rhs->stops); - } - return false; - } - - mbgl::Value serialize() const override; - std::string getOperator() const override { return "interpolate"; } }; } // namespace expression |