15 namespace expression {
46 std::vector<std::unique_ptr<Expression>>
args;
54 std::vector<std::unique_ptr<Expression>> args,
const detail::SignatureBase & signature
EvaluationResult evaluate(const EvaluationContext &evaluationParams) const override
void eachChild(const std::function< void(const Expression &)> &visit) const override
std::vector< std::optional< Value > > possibleOutputs() const override
static bool exists(const std::string &name)
CompoundExpression(const detail::SignatureBase &, std::vector< std::unique_ptr< Expression >>)
std::string getOperator() const override
std::vector< std::unique_ptr< Expression > > args
bool operator==(const Expression &e) const override
std::optional< std::size_t > getParameterCount() const
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::optional< std::unique_ptr< Expression > > ParseResult
ParseResult parseCompoundExpression(const std::string &name, const mbgl::style::conversion::Convertible &value, ParsingContext &ctx)
ParseResult createCompoundExpression(const std::string &name, std::vector< std::unique_ptr< Expression >> args, ParsingContext &ctx)