8 #include <initializer_list>
14 namespace expression {
19 template <
class... Args>
20 std::vector<std::unique_ptr<Expression>>
vec(Args... args) {
21 std::vector<std::unique_ptr<Expression>> result;
22 util::ignore({ (result.push_back(std::move(args)), 0)... });
30 std::unique_ptr<Expression>
literal(
const char* value);
32 std::unique_ptr<Expression>
literal(std::initializer_list<double> value);
33 std::unique_ptr<Expression>
literal(std::initializer_list<const char*> value);
36 std::unique_ptr<Expression>,
37 std::unique_ptr<Expression> def =
nullptr);
38 std::unique_ptr<Expression>
number(std::unique_ptr<Expression>,
39 std::unique_ptr<Expression> def =
nullptr);
40 std::unique_ptr<Expression>
string(std::unique_ptr<Expression>,
41 std::unique_ptr<Expression> def =
nullptr);
42 std::unique_ptr<Expression>
boolean(std::unique_ptr<Expression>,
43 std::unique_ptr<Expression> def =
nullptr);
45 std::unique_ptr<Expression>
toColor(std::unique_ptr<Expression>,
46 std::unique_ptr<Expression> def =
nullptr);
47 std::unique_ptr<Expression>
toString(std::unique_ptr<Expression>,
48 std::unique_ptr<Expression> def =
nullptr);
49 std::unique_ptr<Expression>
toFormatted(std::unique_ptr<Expression>,
50 std::unique_ptr<Expression> def =
nullptr);
51 std::unique_ptr<Expression>
toImage(std::unique_ptr<Expression>, std::unique_ptr<Expression> def =
nullptr);
53 std::unique_ptr<Expression>
get(
const char* value);
54 std::unique_ptr<Expression>
get(std::unique_ptr<Expression>);
56 std::unique_ptr<Expression>
id();
57 std::unique_ptr<Expression>
zoom();
59 std::unique_ptr<Expression>
eq(std::unique_ptr<Expression>, std::unique_ptr<Expression>);
60 std::unique_ptr<Expression>
ne(std::unique_ptr<Expression>, std::unique_ptr<Expression>);
61 std::unique_ptr<Expression>
gt(std::unique_ptr<Expression>, std::unique_ptr<Expression>);
62 std::unique_ptr<Expression>
lt(std::unique_ptr<Expression>, std::unique_ptr<Expression>);
64 std::unique_ptr<Expression>
step(std::unique_ptr<Expression> input,
65 std::unique_ptr<Expression> output0,
66 double input1, std::unique_ptr<Expression> output1);
73 std::unique_ptr<Expression> input,
74 double input1, std::unique_ptr<Expression> output1);
77 std::unique_ptr<Expression> input,
78 double input1, std::unique_ptr<Expression> output1,
79 double input2, std::unique_ptr<Expression> output2);
82 std::unique_ptr<Expression> input,
83 double input1, std::unique_ptr<Expression> output1,
84 double input2, std::unique_ptr<Expression> output2,
85 double input3, std::unique_ptr<Expression> output3);
87 std::unique_ptr<Expression>
concat(std::vector<std::unique_ptr<Expression>> inputs);
89 std::unique_ptr<Expression>
format(
const char* value);
90 std::unique_ptr<Expression>
format(std::unique_ptr<Expression>);
92 std::unique_ptr<Expression>
image(
const char* value);
93 std::unique_ptr<Expression>
image(std::unique_ptr<Expression>);
std::vector< std::unique_ptr< Expression > > vec(Args... args)
std::unique_ptr< Expression > interpolate(Interpolator interpolator, std::unique_ptr< Expression > input, double input1, std::unique_ptr< Expression > output1)
std::unique_ptr< Expression > error(std::string)
std::unique_ptr< Expression > image(const char *value)
std::unique_ptr< Expression > eq(std::unique_ptr< Expression >, std::unique_ptr< Expression >)
Interpolator cubicBezier(double x1, double y1, double x2, double y2)
std::unique_ptr< Expression > assertion(const type::Type &, std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > literal(const char *value)
std::unique_ptr< Expression > gt(std::unique_ptr< Expression >, std::unique_ptr< Expression >)
std::unique_ptr< Expression > format(const char *value)
std::unique_ptr< Expression > number(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > createExpression(const char *expr)
std::unique_ptr< Expression > ne(std::unique_ptr< Expression >, std::unique_ptr< Expression >)
std::unique_ptr< Expression > step(std::unique_ptr< Expression > input, std::unique_ptr< Expression > output0, double input1, std::unique_ptr< Expression > output1)
Interpolator exponential(double base)
std::unique_ptr< Expression > concat(std::vector< std::unique_ptr< Expression >> inputs)
std::unique_ptr< Expression > toString(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > toColor(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > zoom()
std::unique_ptr< Expression > boolean(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > get(const char *value)
std::unique_ptr< Expression > toImage(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > toFormatted(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > lt(std::unique_ptr< Expression >, std::unique_ptr< Expression >)
std::unique_ptr< Expression > id()
variant< NullType, NumberType, BooleanType, StringType, ColorType, ObjectType, ValueType, mapbox::util::recursive_wrapper< Array >, CollatorType, FormattedType, ErrorType, ImageType > Type
variant< ExponentialInterpolator, CubicBezierInterpolator > Interpolator