blob: 927f8837097992fa6395336c2b4464da6eb53abe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
#include "platform/country_defines.hpp"
#include "base/assert.hpp"
bool HasOptions(TMapOptions mask, TMapOptions options)
{
return (static_cast<uint8_t>(mask) & static_cast<uint8_t>(options)) ==
static_cast<uint8_t>(options);
}
TMapOptions SetOptions(TMapOptions mask, TMapOptions options)
{
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)
{
switch (options)
{
case TMapOptions::ENothing:
return "Nothing";
case TMapOptions::EMap:
return "MapOnly";
case TMapOptions::ECarRouting:
return "CarRouting";
case TMapOptions::EMapWithCarRouting:
return "MapWithCarRouting";
}
}
|