#pragma once #include #include #include #include namespace mbgl { namespace style { namespace expression { class Equals : public Expression { public: Equals(std::unique_ptr lhs, std::unique_ptr rhs, bool negate); static ParseResult parse(const mbgl::style::conversion::Convertible&, ParsingContext&); void eachChild(const std::function& visit) const override; bool operator==(const Expression&) const override; EvaluationResult evaluate(const EvaluationContext&) const override; std::vector> possibleOutputs() const override; private: std::unique_ptr lhs; std::unique_ptr rhs; bool negate; }; } // namespace expression } // namespace style } // namespace mbgl