#pragma once #include #include #include #include #include namespace mbgl { namespace style { namespace expression { class Assertion : public Expression { public: Assertion(type::Type type_, std::vector> inputs_) : Expression(type_), inputs(std::move(inputs_)) {} static ParseResult parse(const mbgl::style::conversion::Convertible& value, ParsingContext ctx); EvaluationResult evaluate(const EvaluationParameters& params) const override; void eachChild(const std::function& visit) const override; private: std::vector> inputs; }; } // namespace expression } // namespace style } // namespace mbgl