12 namespace expression {
22 std::unique_ptr<Expression> lhs,
23 std::unique_ptr<Expression> rhs);
34 std::unique_ptr<Expression> lhs;
35 std::unique_ptr<Expression> rhs;
36 bool needsRuntimeTypeCheck;
45 std::unique_ptr<Expression> lhs,
46 std::unique_ptr<Expression> rhs,
47 std::unique_ptr<Expression> collator);
58 std::unique_ptr<Expression> lhs;
59 std::unique_ptr<Expression> rhs;
60 std::unique_ptr<Expression> collator;
61 bool needsRuntimeTypeCheck;
BasicComparison(std::string op, std::unique_ptr< Expression > lhs, std::unique_ptr< Expression > rhs)
void eachChild(const std::function< void(const Expression &)> &visit) const override
bool operator==(const Expression &) const override
std::string getOperator() const override
std::vector< std::optional< Value > > possibleOutputs() const override
EvaluationResult evaluate(const EvaluationContext &) const override
bool(*)(const Value &, const Value &) CompareFunctionType
CollatorComparison(std::string op, std::unique_ptr< Expression > lhs, std::unique_ptr< Expression > rhs, std::unique_ptr< Expression > collator)
std::string getOperator() const override
bool(*)(const std::string &, const std::string &, const Collator &) CompareFunctionType
void eachChild(const std::function< void(const Expression &)> &visit) const override
std::vector< std::optional< Value > > possibleOutputs() const override
bool operator==(const Expression &) const override
EvaluationResult evaluate(const EvaluationContext &) const override
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
ParseResult parseComparison(const mbgl::style::conversion::Convertible &, ParsingContext &)
std::optional< std::unique_ptr< Expression > > ParseResult