13 At(std::unique_ptr<Expression> index_, std::unique_ptr<Expression> input_) :
15 index(
std::move(index_)),
16 input(
std::move(input_))
26 auto rhs =
static_cast<const At*
>(&e);
27 return *index == *(rhs->index) && *input == *(rhs->input);
33 return { std::nullopt };
39 std::unique_ptr<Expression> index;
40 std::unique_ptr<Expression> input;
void eachChild(const std::function< void(const Expression &)> &) const override
EvaluationResult evaluate(const EvaluationContext ¶ms) const override
bool operator==(const Expression &e) const override
At(std::unique_ptr< Expression > index_, std::unique_ptr< Expression > input_)
std::string getOperator() const override
std::vector< std::optional< Value > > possibleOutputs() const override
static ParseResult parse(const mbgl::style::conversion::Convertible &value, ParsingContext &ctx)
type::Type getType() const
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::unique_ptr< Expression > get(const char *value)
std::optional< std::unique_ptr< Expression > > ParseResult