#pragma once #include #include #include #include #include #include #include #include namespace mbgl { class Tileset { public: enum class Scheme : bool { XYZ, TMS }; std::vector tiles; Range zoomRange; std::string attribution; Scheme scheme; optional bounds; Tileset(std::vector tiles_ = std::vector(), Range zoomRange_ = { 0, util::DEFAULT_MAX_ZOOM }, std::string attribution_ = {}, Scheme scheme_ = Scheme::XYZ) : tiles(std::move(tiles_)), zoomRange(std::move(zoomRange_)), attribution(std::move(attribution_)), scheme(scheme_), bounds() {} // TileJSON also includes center and zoom but they are not used by mbgl. friend bool operator==(const Tileset& lhs, const Tileset& rhs) { return std::tie(lhs.tiles, lhs.zoomRange, lhs.attribution, lhs.scheme, lhs.bounds) == std::tie(rhs.tiles, rhs.zoomRange, rhs.attribution, rhs.scheme, rhs.bounds); } }; } // namespace mbgl