#pragma once #include #include namespace mbgl { class RenderTile; class SourceFeatureState { public: SourceFeatureState() = default; ~SourceFeatureState() = default; void updateState(const optional& sourceLayerID, const std::string& featureID, const FeatureState& newState); void getState(FeatureState& result, const optional& sourceLayerID, const std::string& featureID) const; void removeState(const optional& sourceLayerID, const optional& featureID, const optional& stateKey); void coalesceChanges(std::vector& tiles); private: LayerFeatureStates currentStates; LayerFeatureStates stateChanges; LayerFeatureStates deletedStates; }; } // namespace mbgl