summaryrefslogtreecommitdiff
path: root/include/mbgl/style/expression/interpolate.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/style/expression/interpolate.hpp')
-rw-r--r--include/mbgl/style/expression/interpolate.hpp33
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