#pragma once #include #include #include #include #include namespace mbgl { namespace style { class CategoricalValue : public variant { public: using variant::variant; }; template class CategoricalStops { public: using Stops = std::map; Stops stops; CategoricalStops() = default; CategoricalStops(Stops stops_) : stops(std::move(stops_)) { assert(stops.size() > 0); } optional evaluate(const Value&) const; friend bool operator==(const CategoricalStops& lhs, const CategoricalStops& rhs) { return lhs.stops == rhs.stops; } }; } // namespace style } // namespace mbgl