diff options
Diffstat (limited to 'include/mbgl/style/function')
-rw-r--r-- | include/mbgl/style/function/camera_function.hpp | 7 | ||||
-rw-r--r-- | include/mbgl/style/function/composite_function.hpp | 4 | ||||
-rw-r--r-- | include/mbgl/style/function/convert.hpp | 4 | ||||
-rw-r--r-- | include/mbgl/style/function/source_function.hpp | 4 |
4 files changed, 17 insertions, 2 deletions
diff --git a/include/mbgl/style/function/camera_function.hpp b/include/mbgl/style/function/camera_function.hpp index 25b38e3616..015abd3e62 100644 --- a/include/mbgl/style/function/camera_function.hpp +++ b/include/mbgl/style/function/camera_function.hpp @@ -12,7 +12,6 @@ #include <mbgl/util/interpolate.hpp> #include <mbgl/util/variant.hpp> - namespace mbgl { namespace style { @@ -66,7 +65,11 @@ public: [&](auto z) { return z->getCoveringStops(lower, upper); } ); } - + + std::vector<optional<T>> possibleOutputs() const { + return expression::fromExpressionValues<T>(expression->possibleOutputs()); + } + friend bool operator==(const CameraFunction& lhs, const CameraFunction& rhs) { return *lhs.expression == *rhs.expression; diff --git a/include/mbgl/style/function/composite_function.hpp b/include/mbgl/style/function/composite_function.hpp index b44bf8e6fe..24578f599c 100644 --- a/include/mbgl/style/function/composite_function.hpp +++ b/include/mbgl/style/function/composite_function.hpp @@ -102,6 +102,10 @@ public: ); } + std::vector<optional<T>> possibleOutputs() const { + return expression::fromExpressionValues<T>(expression->possibleOutputs()); + } + friend bool operator==(const CompositeFunction& lhs, const CompositeFunction& rhs) { return *lhs.expression == *rhs.expression; diff --git a/include/mbgl/style/function/convert.hpp b/include/mbgl/style/function/convert.hpp index 9f7b7ed1f8..8e544d3ad5 100644 --- a/include/mbgl/style/function/convert.hpp +++ b/include/mbgl/style/function/convert.hpp @@ -45,6 +45,10 @@ public: return EvaluationError{message}; } + std::vector<optional<Value>> possibleOutputs() const override { + return {}; + } + private: std::string message; }; diff --git a/include/mbgl/style/function/source_function.hpp b/include/mbgl/style/function/source_function.hpp index 02e4b604e2..bd7b109fd8 100644 --- a/include/mbgl/style/function/source_function.hpp +++ b/include/mbgl/style/function/source_function.hpp @@ -57,6 +57,10 @@ public: return defaultValue ? *defaultValue : finalDefaultValue; } + std::vector<optional<T>> possibleOutputs() const { + return expression::fromExpressionValues<T>(expression->possibleOutputs()); + } + friend bool operator==(const SourceFunction& lhs, const SourceFunction& rhs) { return *lhs.expression == *rhs.expression; |