#include "platform/country_defines.hpp" #include "base/assert.hpp" bool HasOptions(MapOptions mask, MapOptions options) { return (static_cast(mask) & static_cast(options)) == static_cast(options); } MapOptions IntersectOptions(MapOptions lhs, MapOptions rhs) { return static_cast(static_cast(lhs) & static_cast(rhs)); } MapOptions SetOptions(MapOptions mask, MapOptions options) { return static_cast(static_cast(mask) | static_cast(options)); } MapOptions UnsetOptions(MapOptions mask, MapOptions options) { return static_cast(static_cast(mask) & ~static_cast(options)); } MapOptions LeastSignificantOption(MapOptions mask) { return static_cast(static_cast(mask) & -static_cast(mask)); } string DebugPrint(MapOptions options) { switch (options) { case MapOptions::Nothing: return "Nothing"; case MapOptions::Map: return "MapOnly"; case MapOptions::CarRouting: return "CarRouting"; case MapOptions::MapWithCarRouting: return "MapWithCarRouting"; } }