diff options
author | John Firebaugh <john.firebaugh@gmail.com> | 2018-07-13 17:02:30 -0700 |
---|---|---|
committer | John Firebaugh <john.firebaugh@gmail.com> | 2018-07-20 12:35:00 -0700 |
commit | af89318b1d3bef15e92e591887c9d65b10be54ce (patch) | |
tree | d3ccb07da91bb56197607f5319100e64f7493211 /include/mbgl/style/expression/dsl.hpp | |
parent | a3d988ab8520ea12272bb80a746a2d91cbc332f5 (diff) | |
download | qtlocation-mapboxgl-af89318b1d3bef15e92e591887c9d65b10be54ce.tar.gz |
[core] Convert token strings to expressions
Diffstat (limited to 'include/mbgl/style/expression/dsl.hpp')
-rw-r--r-- | include/mbgl/style/expression/dsl.hpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/include/mbgl/style/expression/dsl.hpp b/include/mbgl/style/expression/dsl.hpp index 22278b0975..e9de20de18 100644 --- a/include/mbgl/style/expression/dsl.hpp +++ b/include/mbgl/style/expression/dsl.hpp @@ -3,6 +3,7 @@ #include <mbgl/style/expression/value.hpp> #include <mbgl/style/expression/expression.hpp> #include <mbgl/style/expression/interpolator.hpp> +#include <mbgl/util/ignore.hpp> #include <memory> #include <string> @@ -16,6 +17,13 @@ namespace dsl { // This convenience API does little to no expression validation or type-checking, and is intended for // use only by test and other non-production code. +template <class... Args> +std::vector<std::unique_ptr<Expression>> vec(Args... args) { + std::vector<std::unique_ptr<Expression>> result; + util::ignore({ (result.push_back(std::move(args)), 0)... }); + return result; +} + std::unique_ptr<Expression> error(std::string); std::unique_ptr<Expression> literal(const char* value); @@ -27,8 +35,8 @@ std::unique_ptr<Expression> number(std::unique_ptr<Expression>); std::unique_ptr<Expression> string(std::unique_ptr<Expression>); std::unique_ptr<Expression> boolean(std::unique_ptr<Expression>); -std::unique_ptr<Expression> toColor(const char* value); std::unique_ptr<Expression> toColor(std::unique_ptr<Expression>); +std::unique_ptr<Expression> toString(std::unique_ptr<Expression>); std::unique_ptr<Expression> get(const char* value); std::unique_ptr<Expression> get(std::unique_ptr<Expression>); @@ -68,6 +76,8 @@ std::unique_ptr<Expression> interpolate(Interpolator interpolator, double input2, std::unique_ptr<Expression> output2, double input3, std::unique_ptr<Expression> output3); +std::unique_ptr<Expression> concat(std::vector<std::unique_ptr<Expression>> inputs); + } // namespace dsl } // namespace expression } // namespace style |