MCPcopy Create free account
hub / github.com/comaps/comaps / GetStreetNameAsKey

Function GetStreetNameAsKey

libs/indexer/search_string_utils.cpp:588–613  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

586}
587
588UniString GetStreetNameAsKey(std::string_view name, bool ignoreStreetSynonyms)
589{
590 if (name.empty())
591 return UniString();
592
593 static StreetsDirectionsHolder s_directions;
594 auto const & synonyms = StreetsSynonymsHolder::Instance();
595
596 UniString res, suffix;
597 Tokenize(name, kStreetTokensSeparator, [&](std::string_view v)
598 {
599 UniString s = NormalizeAndSimplifyString(v);
600
601 if (ignoreStreetSynonyms && synonyms.FullMatch(s))
602 return;
603
604 if (s_directions.ApplyIf(s, [&suffix](UniString const & s) { suffix.append(s); }))
605 return;
606
607 EraseDummyStreetChars(s);
608 res.append(s);
609 });
610
611 res.append(suffix);
612 return (res.empty() ? NormalizeAndSimplifyString(name) : res);
613}
614
615strings::UniString GetNormalizedStreetName(std::string_view name)
616{

Callers 6

BuildAddressTableFunction · 0.85
SetNameMethod · 0.85
GetKeyMethod · 0.85
GetStreetKeyFunction · 0.85
UNIT_TESTFunction · 0.85
TestAddressFunction · 0.85

Calls 8

EraseDummyStreetCharsFunction · 0.85
FullMatchMethod · 0.80
ApplyIfMethod · 0.80
UniStringClass · 0.70
TokenizeFunction · 0.50
emptyMethod · 0.45
appendMethod · 0.45

Tested by 4

GetKeyMethod · 0.68
GetStreetKeyFunction · 0.68
UNIT_TESTFunction · 0.68
TestAddressFunction · 0.68