summaryrefslogtreecommitdiff
path: root/include/mbgl/style/expression/compound_expression.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/mbgl/style/expression/compound_expression.hpp')
-rw-r--r--include/mbgl/style/expression/compound_expression.hpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/include/mbgl/style/expression/compound_expression.hpp b/include/mbgl/style/expression/compound_expression.hpp
index 8b74027578..6baaae862f 100644
--- a/include/mbgl/style/expression/compound_expression.hpp
+++ b/include/mbgl/style/expression/compound_expression.hpp
@@ -40,14 +40,16 @@ namespace detail {
// each CompoundExpression definition's type::Type data from the type of its
// "evaluate" function.
struct SignatureBase {
- SignatureBase(type::Type result_, variant<std::vector<type::Type>, VarargsType> params_) :
+ SignatureBase(type::Type result_, variant<std::vector<type::Type>, VarargsType> params_, std::string name_) :
result(std::move(result_)),
- params(std::move(params_))
+ params(std::move(params_)),
+ name(std::move(name_))
{}
virtual ~SignatureBase() = default;
- virtual std::unique_ptr<Expression> makeExpression(const std::string& name, std::vector<std::unique_ptr<Expression>>) const = 0;
+ virtual std::unique_ptr<Expression> makeExpression(std::vector<std::unique_ptr<Expression>>) const = 0;
type::Type result;
variant<std::vector<type::Type>, VarargsType> params;
+ std::string name;
};
} // namespace detail
@@ -111,6 +113,10 @@ public:
}
return false;
}
+
+ std::string getOperator() const override {
+ return signature.name;
+ }
private:
Signature signature;
@@ -128,8 +134,7 @@ struct CompoundExpressionRegistry {
ParseResult parseCompoundExpression(const std::string name, const mbgl::style::conversion::Convertible& value, ParsingContext& ctx);
-ParseResult createCompoundExpression(const std::string& name,
- const CompoundExpressionRegistry::Definition& definition,
+ParseResult createCompoundExpression(const CompoundExpressionRegistry::Definition& definition,
std::vector<std::unique_ptr<Expression>> args,
ParsingContext& ctx);