summaryrefslogtreecommitdiff
path: root/include/mbgl/style/function
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/style/function')
-rw-r--r--include/mbgl/style/function/camera_function.hpp7
-rw-r--r--include/mbgl/style/function/composite_function.hpp4
-rw-r--r--include/mbgl/style/function/convert.hpp4
-rw-r--r--include/mbgl/style/function/source_function.hpp4
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;