diff options
author | Chris Loer <chris.loer@gmail.com> | 2018-10-02 17:03:50 -0700 |
---|---|---|
committer | Chris Loer <chris.loer@mapbox.com> | 2018-10-15 13:15:46 -0700 |
commit | ce76bde13d0f4381ee861f81daf636defaff0bc5 (patch) | |
tree | e37d93d14fc64620069bac5488bae871af2fa431 /src/mbgl/style/expression/dsl.cpp | |
parent | bc718257748f1ad87658e85f8c31b574afca57a9 (diff) | |
download | qtlocation-mapboxgl-ce76bde13d0f4381ee861f81daf636defaff0bc5.tar.gz |
[core] Initial implementation of 'format' expression
Diffstat (limited to 'src/mbgl/style/expression/dsl.cpp')
-rw-r--r-- | src/mbgl/style/expression/dsl.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mbgl/style/expression/dsl.cpp b/src/mbgl/style/expression/dsl.cpp index c6318fb637..f5ff83a9e7 100644 --- a/src/mbgl/style/expression/dsl.cpp +++ b/src/mbgl/style/expression/dsl.cpp @@ -7,6 +7,7 @@ #include <mbgl/style/expression/step.hpp> #include <mbgl/style/expression/interpolate.hpp> #include <mbgl/style/expression/compound_expression.hpp> +#include <mbgl/style/expression/format_expression.hpp> namespace mbgl { namespace style { @@ -77,6 +78,10 @@ std::unique_ptr<Expression> toString(std::unique_ptr<Expression> value) { return std::make_unique<Coercion>(type::String, vec(std::move(value))); } +std::unique_ptr<Expression> toFormatted(std::unique_ptr<Expression> value) { + return std::make_unique<Coercion>(type::Formatted, vec(std::move(value))); +} + std::unique_ptr<Expression> get(const char* value) { return get(literal(value)); } @@ -181,6 +186,16 @@ std::unique_ptr<Expression> concat(std::vector<std::unique_ptr<Expression>> inpu return compound("concat", std::move(inputs)); } +std::unique_ptr<Expression> format(const char* value) { + return std::make_unique<Literal>(Formatted(value)); +} + +std::unique_ptr<Expression> format(std::unique_ptr<Expression> input) { + std::vector<FormatExpressionSection> sections; + sections.emplace_back(std::move(input), nullopt, nullopt); + return std::make_unique<FormatExpression>(sections); +} + } // namespace dsl } // namespace expression } // namespace style |