MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
in.hpp
Go to the documentation of this file.
1 #pragma once
2 
5 #include <memory>
6 
7 namespace mbgl {
8 namespace style {
9 namespace expression {
10 
11 class In final : public Expression {
12 public:
13  In(std::unique_ptr<Expression> needle_, std::unique_ptr<Expression> haystack_);
14 
16 
17  EvaluationResult evaluate(const EvaluationContext& params) const override;
18  void eachChild(const std::function<void(const Expression&)>&) const override;
19 
20  bool operator==(const Expression& e) const override;
21 
22  std::vector<std::optional<Value>> possibleOutputs() const override;
23 
24  std::string getOperator() const override;
25 
26 private:
27  std::unique_ptr<Expression> needle;
28  std::unique_ptr<Expression> haystack;
29 };
30 
31 } // namespace expression
32 } // namespace style
33 } // namespace mbgl
bool operator==(const Expression &e) const override
std::string getOperator() const override
EvaluationResult evaluate(const EvaluationContext &params) const override
In(std::unique_ptr< Expression > needle_, std::unique_ptr< Expression > haystack_)
void eachChild(const std::function< void(const Expression &)> &) const override
std::vector< std::optional< Value > > possibleOutputs() const override
static ParseResult parse(const mbgl::style::conversion::Convertible &value, ParsingContext &ctx)
std::unique_ptr< Expression > string(std::unique_ptr< Expression >, std::unique_ptr< Expression > def=nullptr)
std::optional< std::unique_ptr< Expression > > ParseResult
Definition: actor.hpp:15