diff options
Diffstat (limited to 'platform/country_defines.cpp')
-rw-r--r-- | platform/country_defines.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/platform/country_defines.cpp b/platform/country_defines.cpp index 5a3ab9e8f5..927f883709 100644 --- a/platform/country_defines.cpp +++ b/platform/country_defines.cpp @@ -2,14 +2,25 @@ #include "base/assert.hpp" -bool HasOptions(TMapOptions options, TMapOptions bits) +bool HasOptions(TMapOptions mask, TMapOptions options) { - return (static_cast<uint8_t>(options) & static_cast<uint8_t>(bits)) == static_cast<uint8_t>(bits); + return (static_cast<uint8_t>(mask) & static_cast<uint8_t>(options)) == + static_cast<uint8_t>(options); } -TMapOptions SetOptions(TMapOptions options, TMapOptions bits) +TMapOptions SetOptions(TMapOptions mask, TMapOptions options) { - return static_cast<TMapOptions>(static_cast<uint8_t>(options) | static_cast<uint8_t>(bits)); + return static_cast<TMapOptions>(static_cast<uint8_t>(mask) | static_cast<uint8_t>(options)); +} + +TMapOptions UnsetOptions(TMapOptions mask, TMapOptions options) +{ + return static_cast<TMapOptions>(static_cast<uint8_t>(mask) & ~static_cast<uint8_t>(options)); +} + +TMapOptions LeastSignificantOption(TMapOptions mask) +{ + return static_cast<TMapOptions>(static_cast<uint8_t>(mask) & -static_cast<uint8_t>(mask)); } string DebugPrint(TMapOptions options) @@ -24,8 +35,5 @@ string DebugPrint(TMapOptions options) return "CarRouting"; case TMapOptions::EMapWithCarRouting: return "MapWithCarRouting"; - default: - ASSERT(false, ("Unknown TMapOptions (", static_cast<uint8_t>(options), ")")); - return string(); } } |