#pragma once #include #include #include #include #include #include namespace mbgl { template class StyleChange { public: T before; T after; }; template class StyleDifference { public: std::unordered_map added; std::unordered_map removed; std::unordered_map> changed; }; using ImmutableImage = Immutable; using ImageDifference = StyleDifference; ImageDifference diffImages(const Immutable>&, const Immutable>&); using ImmutableSource = Immutable; using SourceDifference = StyleDifference; SourceDifference diffSources(const Immutable>&, const Immutable>&); using ImmutableLayer = Immutable; using LayerDifference = StyleDifference; LayerDifference diffLayers(const Immutable>&, const Immutable>&); bool hasLayoutDifference(const LayerDifference&, const std::string& layerID); } // namespace mbgl