[categories] Remove some search categories. We do not have to SkipTypes with TypesSkipper since we stop to use categories for translations.

This commit is contained in:
tatiana-yan 2019-10-02 18:40:05 +03:00 committed by mpimenov
parent 8009d89203
commit 0af4cf356e
5 changed files with 89 additions and 431 deletions

View file

@ -1949,24 +1949,6 @@ sk:3Metro|podzemná doprava
sw:Reli ya chini
fa:ایستگاه مترو
railway-level_crossing
en:Level Crossing
ru:Железнодорожный переезд
fr:Passage à niveau
de:Bahnübergang
it:Passaggio a livello
es:Paso a nivel
pt:Passagem de nível
pt-BR:Passagem em nível
pl:Przejazd kolejowy
cs:Železniční přejezd
nl:Overweg
da:Jernbaneoverskæring
fi:Tasoristeys
hu:Vasúti átjáró
fa:تقاطع هم سطح با راه اهن
el:Ισόπεδη σιδηροδρομική διάβαση|Πασάγιο
amenity-ferry_terminal|@transport
en:3Ferry|terminal|U+1F6A2|U+1F6A4|U+2693
ru:3Паром|транспорт
@ -3198,6 +3180,7 @@ el:Συντριβάνι
sk:Fontána
fa:فواره
# landuse-cemetery skipped if empty name
amenity-grave_yard|landuse-cemetery
en:Graveyard|cemetery
ru:Кладбище
@ -3932,6 +3915,7 @@ sk:Kontinent|svetadiel
sw:Bara
fa:قاره
# Skipped if empty name
place-country
en:Country
ru:Страна
@ -3965,6 +3949,7 @@ sk:Krajina
sw:Nchi
fa:کشور
# Skipped if empty name
place-city
en:City|town
ru:Город
@ -3998,6 +3983,7 @@ sk:Mesto
sw:Mji
fa:شهر
# Skipped if empty name
place-town
en:Town|city
ru:Город
@ -4064,6 +4050,7 @@ sk:Hlavné mesto|metropole
sw:Mji mkuu
fa:پایتخت
# Skipped if empty name
place-county
en:County
ru:Округ|графство
@ -4096,6 +4083,7 @@ el:Δήμος
sk:Krajina
fa:بخش
# Skipped if empty name
place-state
en:State|province
ru:Штат|провинция
@ -4129,6 +4117,7 @@ sk:Štát|kraj
sw:Jimbo
fa:ایالت
# Skipped if empty name
place-region
en:Region
ru:Район
@ -4195,6 +4184,7 @@ sk:Ostrov
sw:Kisiwa
fa:جزیره
# Skipped if empty name
place-suburb|landuse-residential|place-neighbourhood
en:Suburb|district
ru:Район|микрорайон|округ|квартал
@ -4360,6 +4350,7 @@ sk:Farma
sw:Shamba
fa:مزرعه
# Skipped if empty name
waterway-river|waterway-stream|waterway-riverbank
en:River
ru:Река
@ -4393,6 +4384,7 @@ sk:Rieka
sw:Mto
fa:رودخانه
# Skipped if empty name
waterway-canal
en:Canal
ru:Канал
@ -4458,6 +4450,7 @@ el:Πίστα αγώνων
sk:Pretekárska dráha
fa:کانال
# Skipped if empty name
highway-path|highway-footway|highway-steps
en:Path
ru:Дорожка
@ -4491,6 +4484,7 @@ sk:Cesta
sw:Jia
fa:مسیر
# Skipped if empty name
highway-pedestrian|highway-primary|highway-primary_link|highway-residential|highway-secondary|highway-secondary_link|highway-tertiary|highway-tertiary_link|highway-service|highway-road|highway-track|highway-trunk|highway-trunk_link|highway-living_street|highway-unclassified|highway-motorway_link|highway-motorway
en:Street|st|str|ave|road|rd
ru:Улица|переулок|проезд|тракт|проспект|ул
@ -4524,6 +4518,7 @@ sk:Ulica|cesta|ul
sw:Barabara|mtaa|barabara kuu
fa:جاده
# Skipped if empty name
highway-motorway_junction
en:3Exit|3junction
ru:3Съезд
@ -4555,6 +4550,7 @@ sk:Dopravný uzol|3diaľnica
sw:Njia panda
fa:تقاطع
# Skipped if empty name
natural-peak
en:Peak|mountain|mount|U+1F5FB|U+1F304
ru:Гора|вершина|пик
@ -4588,6 +4584,7 @@ sk:Hora|pohorie
sw:Kilele|mlima
fa:قله|کوه|کوهستان
# Skipped if empty name
natural-water|landuse-basin|landuse-reservoir
en:Water
ru:Водоём
@ -4621,6 +4618,7 @@ sk:Voda
sw:Maji
fa:اب
# Skipped if empty name
natural-pond
en:Pond|water
ru:Пруд|водоём
@ -4654,6 +4652,7 @@ sk:Rybník|vodná nádrž|voda
sw:Bwawa
fa:تالاب
# Skipped if empty name
natural-lake
en:Lake|water
ru:Озеро|водоём
@ -4687,6 +4686,7 @@ sk:Jazero|vodná nádrž|voda
sw:Ziwa
fa:دریاچه
# Skipped if empty name
natural-wood|landuse-forest
en:Forest|U+1F332|U+1F333
ru:Лес
@ -5216,6 +5216,7 @@ hu:Atlétika
pt-BR:Atletismo
el:Στίβος
# Skipped if empty name
building
en:Building|U+1F3E0|U+1F3E1|U+1F3E2
ru:Здание
@ -5334,6 +5335,7 @@ sk:4Veľvyslanectvo|4ambasáda
sw:Ubalozi
fa:سفارت
# Skipped if empty name
natural-bay
en:Bay
ru:Залив
@ -5530,6 +5532,7 @@ sk:Kancelária|úrad
sw:Ofisi|kampuni
fa:اداره
# Skipped if empty name
office-company
en:Company Office
ru:Организация
@ -5755,69 +5758,6 @@ el:Ηλεκτρολόγος
sk:Elektrikár
fa:برق کار
craft-gardener
en:Gardener|Landscaper
ru:Садовник
ar:مهندس مناظر
cs:Zahradník
da:Gartner
nl:Tuinarchitect|landschapsarchitect|tuinman
fi:Puutarhuri
fr:Paysagiste
de:Landschaftsgärtner|Gärtner
hu:Kertész
id:Tukang kebun
it:Giardiniere|architetto di esterni
ja:造園家
ko:조경사
nb:Anleggsgartner
pl:Ogrodnik
pt:Paisagista
pt-BR:Jardineiro|paisagista
ro:Peisagist
es:Paisajista
sv:Trädgårdsmästare|landskapsarkitekt
th:คนจัดสวน
tr:Bahçe düzenleyici|peyzaj
uk:Садівник
vi:Người thiết kế và xây dựng cảnh quan
zh-Hans:园林设计师
zh-Hant:園藝師
el:Κηπουρός|Κηποτέχνης
sk:Záhradníctvo
fa:باغبان
craft-hvac
en:Hvac|Air Conditioner
ru:Кондиционеры
ar:تكييف|مكيف هواء
cs:HVAC|montér vzduchotechniky
da:Blikkenslager|klimaanlæg
nl:Airconditioning|luchtbehandeling|airco
fi:Ilmastointilaite
fr:Climatiseur
de:Heizung|Lüftung|Klima|Installateur|Klimaanlage
hu:Hűtés-fűtés szerelő|légkondicionáló
id:Hvac
it:Impianti HVAC|aria condizionata
ja:冷暖房空調|エアコン
ko:냉난방기|에어컨
nb:Klimaanlegg|aircondition
pl:Klimatyzacja
pt:Ar-condicionado
pt-BR:Ar-condicionado
ro:Hvac|aparate de aer condiționat
es:Aire acondicionado
sv:Vvs|luftkonditionering
th:ระบบปรับอากาศ|เครื่องปรับอากาศ
tr:Klimacı
uk:Кондиціонери
vi:Điều hòa nhiệt độ
zh-Hans:暖通工程师
zh-Hant:空調設備
el:Ψυκτικός|κλιματισμός
sk:Vzduchotechnika
craft-metal_construction
en:Metal Worker
ru:Ковка металла|кузнец
@ -5850,38 +5790,6 @@ el:Μεταλλουργός
sk:Kovorobotník|kovospracovanie
fa:اهن کار
craft-painter
en:Painter
ru:Маляр|мастерская маляра
ar:رسام
cs:Malíř
da:Maler
nl:Schilder
fi:Maalari
fr:Peintre
de:Maler
hu:Festő
id:Tukang cat
it:Imbianchino|pittore
ja:塗装工
ko:페인트공
nb:Maler
pl:Malarz
pt:Pintor
pt-BR:Pintor
ro:Pictor
es:Pintor
sv:Målare
th:ช่างทาสี
tr:Boyacı
uk:Маляр|малярська майстерня
vi:Họa sỹ
zh-Hans:油漆匠
zh-Hant:油漆工
el:Μπογιατζής|χρωματιστής
sk:Maliar natierač
fa:نقاش
craft-photographer
en:Photographer|photography Studio
ru:Фотограф|фотоателье
@ -5914,38 +5822,6 @@ el:Φωτογράφος|Στούντιο φωτογραφίας
sk:Fotograf|fotoateliér
fa:عکاس
craft-plumber
en:Plumber
ru:Сантехник
ar:سمكري
cs:Instalatér
da:VVS-mand
nl:Loodgieter
fi:Putkimies
fr:Plombier
de:Installateur|Klempner
hu:Vízvezeték-szerelő
id:Tukang pipa
it:Idraulico|tubista
ja:配管工
ko:배관공
nb:Rørlegger
pl:Hydraulik
pt:Canalizador
pt-BR:Encanador|bombeiro hidráulico
ro:Instalator
es:Fontanero
sv:Vvs-montör|rörmokare
th:ช่างประปา
tr:Sıhhi tesisatçı|tesisatçı
uk:Сантехнік
vi:Thợ đường ống
zh-Hans:管道工
zh-Hant:水管工人|水電工
el:Υδραυλικός
sk:Klampiarstvo
fa:لوله کش
craft-shoemaker
en:Shoe Repair
ru:Ремонт обуви
@ -6010,6 +5886,7 @@ el:Ράφτης|ράπτης
sk:Krajčírstvo
fa:خیاطی
# Skipped if empty name
area:highway-footway|area:highway-pedestrian|area:highway-steps|place-square
en:Square
ru:Площадь
@ -6205,38 +6082,6 @@ el:Παραλία|ακρογιαλιά
sw:Pwani
fa:ساحل
highway-speed_camera
en:3Speed Camera
ru:Камера скорости
ar:كاميرا لرصد السرعة
cs:Rychlostní kamera
da:Automatisk Trafikkontrol
nl:Flitspaal
fi:Nopeusvalvontakamera
fr:Radar de vitesse
de:Blitzer
hu:Traffipax
id:Kamera Kecepatan
it:Autovelox
ja:オービス
ko:스피드 카메라
nb:Fotoboks
pl:Fotoradar
pt:Radar de velocidade
pt-BR:Radar de velocidade|Câmera de velocidade
ro:Detector de viteză
es:Radar de velocidad
sv:Hastighetskamera|fartkamera
th:กล้องตรวจจับความเร็ว
tr:Hız Kamerası
uk:Камера безпеки дорожнього руху
vi:Camera bắn tốc độ
zh-Hans:测速照相机
zh-Hant:測速照相機
el:Κάμερα ταχύτητας|ραντάρ
sk:Rýchlostná kamera
fa:دوربین سرعت سنج
man_made-lighthouse
en:Lighthouse
ru:Маяк
@ -7072,6 +6917,7 @@ el:Αυτόματος πωλητής ποτών
sk:Nápojový automat
fa:ماشین فروش نوشیدنی
# Skipped if empty name
building-garage
en:Garage
ru:Гараж
@ -7135,38 +6981,7 @@ zh-Hant:休息區
el:Χώρος ανάπαυσης αυτοκινητιστών
sk:Odpočívadlo
highway-traffic_signals
en:Traffic Lights
ru:Светофор
ar:إشارات مرور
cs:Semafor
da:Trafiklys
nl:Verkeerslichten
fi:Liikennevalot
fr:Feux de circulation
de:Verkehrsampel
hu:Jelzőlámpák|Közlekedési lámpák
id:Lampu lalu lintas
it:Semaforo
ja:交通信号
ko:신호등
nb:Trafikklys
pl:Sygnalizacja świetlna
pt:Semáforos
pt-BR:Semáforo|sinaleira|sinal de trânsito|farol
ro:Semafoare
es:Semáforos
sv:Trafikljus
th:สัญญาณไฟจราจร
tr:Feux de circulation
uk:Світлофор
vi:Đèn Giao Thông
zh-Hans:交通信号灯
zh-Hant:紅綠燈
el:Φανάρια κυκλοφορίας
sk:Semafor
fa:چراغ راهنما
# Skipped if empty name
man_made-chimney
en:Factory Chimney
ru:Заводская труба
@ -7230,37 +7045,6 @@ el:Πύργος
sk:Veža
fa:برج
power-substation
en:Substation
ru:Подстанция
ar:محطة كهرباء فرعية
cs:Rozvodna
da:Transformerstation
nl:Onderstation
fi:Muuntoasema
fr:Sous-station
de:Umspannwerk
hu:Alállomás
id:Stasiun bawah tanah
it:Sottostazione elettrica
ja:変電所
ko:변전소
nb:Trafo
pl:Podstacja
pt:Subestação
pt-BR:Subestação
ro:Stație subterană
es:Subestación
sv:Ställverk
th:สถานีไฟฟ้า
tr:Sous-station
uk:Підстанція
vi:Trạm biến áp
zh-Hans:变电站
zh-Hant:變電所
el:Υποσταθμός
sk:Rozvodňa
shop-bookmaker
en:Bookmaker
ru:Букмекерская контора
@ -7741,38 +7525,41 @@ el:Ανεμόμυλος
sk:Veterný mlyn
fa:توربین بادی
military-bunker
en:Bunker
ru:Бункер
ar:مأوى
cs:Bunkr
da:Bunker
nl:Bunker
fi:Bunkkeri
fr:Bunker
de:Bunker
hu:Bunker
id:Bunker
it:Bunker
ja:掩蔽壕
ko:벙커
nb:Bunker
pl:Bunkier
pt:Bunker
pt-BR:Bunker
ro:Buncăr
es:Búnker
sv:Bunker
th:บังเกอร์
tr:Bunker
uk:Бункер
vi:Boongke
zh-Hans:地堡
zh-Hant:地堡
el:Στρατιωτική αποθήκη
sk:Bunker
fa:پناهگاه
# We do not have bunkers now because we do not have styles to display them.
# Consider adding after adding styles for bunker
# military-bunker
# en:Bunker
# ru:Бункер
# ar:مأوى
# cs:Bunkr
# da:Bunker
# nl:Bunker
# fi:Bunkkeri
# fr:Bunker
# de:Bunker
# hu:Bunker
# id:Bunker
# it:Bunker
# ja:掩蔽壕
# ko:벙커
# nb:Bunker
# pl:Bunkier
# pt:Bunker
# pt-BR:Bunker
# ro:Buncăr
# es:Búnker
# sv:Bunker
# th:บังเกอร์
# tr:Bunker
# uk:Бункер
# vi:Boongke
# zh-Hans:地堡
# zh-Hant:地堡
# el:Στρατιωτική αποθήκη
# sk:Bunker
# fa:پناهگاه
# Skipped if empty name
natural-cave_entrance
en:Cave Entrance
ru:Пещера
@ -7805,6 +7592,7 @@ el:Είσοδος σπηλαίου
sk:Vstup do jaskyne
fa:ورودی غار
# Skipped if empty name
natural-tree
en:Tree
ru:Дерево
@ -7901,38 +7689,7 @@ el:Κτηματομεσίτης|Μεσίτης
sk:Realitný agent
fa:بنگاه معاملات ملکی
power-pole|power-tower
en:Power Tower
ru:Опора ЛЭП
ar:عمود كهرباء
cs:Sloup elektrického vedení
da:El-pol
nl:Elektriciteitspaal
fi:Sähköpylväs
fr:Poteau électrique
de:Freileitungsmast|Strommast
hu:Távvezetékoszlop
id:Menara listrik
it:Palo elettrico
ja:電柱
ko:전봇대
nb:Strømmast
pl:Słup elektryczny
pt:Poste de eletricidade
pt-BR:Poste de eletricidade
ro:Stâlp de electricitate
es:Poste eléctrico
sv:Elstolpe
th:เสาไฟฟ้า
tr:Poteau électrique
uk:Стовп ЛЕП
vi:Trụ Điện
zh-Hans:电线杆
zh-Hant:電塔
el:Πυλώνες μεταφοράς ρεύματος
sk:Stĺp elektrického vedenia
fa:برج قدرت
# Skipped if empty name
waterway-lock_gate
en:Lock Gate
ru:Шлюз
@ -8581,39 +8338,6 @@ zh-Hans:健身驿站
zh-Hant:健身房
fa:پارک سلامت
man_made-surveillance
en:Surveillance Camera
ru:Камера наблюдения
ar:كاميرا مراقبة
cs:Bezpečnostní kamera
da:Overvågningskamera
de:Überwachungskamera
el:Κάμερα παρακολούθησης
es:Cámara de vigilancia
fi:Valvontakamera
fr:Caméra de surveillance
hu:Térfigyelő kamera
id:Kamera Pengawas
it:Videocamera di sorveglianza
ja:監視カメラ
ko:감시 카메라
nb:Overvåkingskamera
nl:Bewakingscamera
pl:Kamera monitoringu
pt:Câmara de vigilância
pt-BR:Câmara de vigilância
ro:Cameră de supraveghere
sk:Bezpečnostná kamera
sv:Övervakningskamera
sw:Kamera za Usalama
th:กล้องวงจรปิด
tr:Güvenlik Kamerası
uk:Камера спостереження
vi:Camera giám sát
zh-Hans:监控摄像头
zh-Hant:監控攝影機
fa:دوربین نظارتی
man_made-water_tap
en:Water Tap
ru:Колонка с водой
@ -8680,6 +8404,7 @@ zh-Hans:保险机构
zh-Hant:保險公司
fa:دفتر بیمه
# Skipped if empty name
office-ngo
en:NGO Office
ru:Офис НКО
@ -8746,39 +8471,6 @@ zh-Hans:成人用品店
zh-Hant:情趣用品店
fa:فروشگاه لوازم جنسی
shop-funeral_directors
en:Funeral Directors
ru:Ритуальные услуги
ar:منظموا الجنازات
cs:Pohřební služba
da:Bedemand
de:Bestattungsinstitut
el:Γραφεία τελετών|γραφείο κηδειών
es:Funeraria
fi:Hautaustoimisto
fr:Pompes funèbres
hu:Temetkezési iroda
id:Direktur Pemakaman
it:Pompe funebri
ja:葬儀屋
ko:장의사
nb:Begravelsebyrå
nl:Begrafenisondernemer
pl:Celebranci pogrzebowi
pt:Funerária
pt-BR:Funerária
ro:Pompe funebre
sk:Pohrebníctvo
sv:Begravningsentreprenörer
sw:Wapangaji Mazishi
th:สัปเหร่อ
tr:Cenaze Levazımcısı
uk:Ритуальна служба
vi:Tổ chức tang lễ
zh-Hans:殡仪馆
zh-Hant:葬儀社
fa:مسئول تشییع جنازه
shop-massage
en:Massage salon|Massage Parlour|massage|spa|massage center|massage therapy|massage services|spa treatment|spa services
ru:Массажный салон|массаж|спа|спа-салон|салон красоты|массажный кабинет
@ -9127,6 +8819,7 @@ vi:Giữ chỗ
zh-Hans:野生动物园
zh-Hant:自然保護區
# Skipped if empty name
natural-cape
en:Cape
ru:Мыс
@ -9193,6 +8886,7 @@ zh-Hans:间歇泉
zh-Hant:間歇泉
fa:چشمه آب گرم
# Skipped if empty name
natural-glacier|@tourism
en:Glacier
ru:Ледник

View file

@ -343,11 +343,6 @@ public:
inserter.AddToken(kPostcodesLang, token);
}
skipIndex.SkipTypes(types);
if (types.Empty())
return;
// Skip types for features without names.
if (!f.ForEachName(inserter))
skipIndex.SkipEmptyNameTypes(types);
if (types.Empty())

View file

@ -14,17 +14,24 @@ TwoLevelPOIChecker::TwoLevelPOIChecker() : ftypes::BaseChecker(2 /* level */)
{
Classificator const & c = classif();
base::StringIL arr[] = {{"building", "train_station"},
{"emergency", "defibrillator"},
{"emergency", "fire_hydrant"},
{"highway", "bus_stop"},
{"highway", "ford"},
{"highway", "raceway"},
{"highway", "rest_area"},
{"highway", "speed_camera"},
{"waterway", "waterfall"},
{"natural", "volcano"},
{"natural", "cave_entrance"},
{"natural", "beach"},
{"natural", "spring"},
{"natural", "geyser"},
{"emergency", "defibrillator"},
{"emergency", "fire_hydrant"}};
{"natural", "cave_entrance"},
{"natural", "spring"},
{"natural", "volcano"},
{"office", "estate_agent"},
{"office", "government"},
{"office", "insurance"},
{"office", "lawyer"},
{"office", "telecommunication"},
{"waterway", "waterfall"}};
for (size_t i = 0; i < ARRAY_SIZE(arr); ++i)
m_types.push_back(c.GetTypeByPath(arr[i]));

View file

@ -16,59 +16,33 @@ TypesSkipper::TypesSkipper()
{
Classificator const & c = classif();
for (auto const & e : (StringIL[]){{"barrier", "border_control"}})
m_doNotSkip.push_back(c.GetTypeByPath(e));
for (auto const & e : (StringIL[]){{"entrance"}, {"barrier"}})
m_skipAlways[0].push_back(c.GetTypeByPath(e));
for (auto const & e : (StringIL[]){{"building", "address"}})
m_skipAlways[1].push_back(c.GetTypeByPath(e));
for (auto const & e : (StringIL[]){{"building"}, {"highway"}, {"natural"},
{"waterway"}, {"landuse"}})
for (auto const & e : (StringIL[]){{"building"}, {"highway"}, {"landuse"}, {"natural"},
{"office"}, {"waterway"}, {"area:highway"}})
{
m_skipIfEmptyName[0].push_back(c.GetTypeByPath(e));
}
for (auto const & e : (StringIL[]){{"place", "country"},
for (auto const & e : (StringIL[]){{"man_made", "chimney"},
{"place", "country"},
{"place", "state"},
{"place", "county"},
{"place", "region"},
{"place", "city"},
{"place", "town"},
{"railway", "rail"}})
{"place", "suburb"},
{"place", "neighbourhood"},
{"place", "square"}})
{
m_skipIfEmptyName[1].push_back(c.GetTypeByPath(e));
}
m_country = c.GetTypeByPath({"place", "country"});
m_state = c.GetTypeByPath({"place", "state"});
}
void TypesSkipper::SkipTypes(feature::TypesHolder & types) const
{
auto shouldBeRemoved = [this](uint32_t type) {
if (HasType(m_doNotSkip, type))
return false;
ftype::TruncValue(type, 2);
if (HasType(m_skipAlways[1], type))
return true;
ftype::TruncValue(type, 1);
if (HasType(m_skipAlways[0], type))
return true;
return false;
};
types.RemoveIf(shouldBeRemoved);
}
void TypesSkipper::SkipEmptyNameTypes(feature::TypesHolder & types) const
{
static const TwoLevelPOIChecker dontSkip;
auto shouldBeRemoved = [this](uint32_t type)
{
if (m_dontSkipIfEmptyName.IsMatched(type))
if (dontSkip.IsMatched(type))
return false;
ftype::TruncValue(type, 2);
@ -87,10 +61,12 @@ void TypesSkipper::SkipEmptyNameTypes(feature::TypesHolder & types) const
bool TypesSkipper::IsCountryOrState(feature::TypesHolder const & types) const
{
auto static const country = classif().GetTypeByPath({"place", "country"});
auto static const state = classif().GetTypeByPath({"place", "state"});
for (uint32_t t : types)
{
ftype::TruncValue(t, 2);
if (t == m_country || t == m_state)
if (t == country || t == state)
return true;
}
return false;

View file

@ -8,16 +8,12 @@
namespace search
{
// There are 2 different ways of search index skipping:
// 1. Skip some feature's types.
// 2. Skip some feature's types when feature name is empty.
// Skips some feature's types when feature name is empty.
class TypesSkipper
{
public:
TypesSkipper();
void SkipTypes(feature::TypesHolder & types) const;
void SkipEmptyNameTypes(feature::TypesHolder & types) const;
bool IsCountryOrState(feature::TypesHolder const & types) const;
@ -28,16 +24,6 @@ private:
static bool HasType(Cont const & v, uint32_t t);
// Array index (0, 1) means type level for checking (1, 2).
// m_skipAlways is used in the case 1 described above.
Cont m_skipAlways[2];
// Exceptions for m_skipAlways.
// e.g. to support skipping all barriers except barrier = border_control.
Cont m_doNotSkip;
// m_skipIfEmptyName and m_dontSkipIfEmptyName are used in the case 2 described above.
Cont m_skipIfEmptyName[2];
TwoLevelPOIChecker m_dontSkipIfEmptyName;
uint32_t m_country, m_state;
};
} // namespace search