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

Function LoadHouseTableImpl

libs/search/house_to_street_table.cpp:74–102  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72};
73
74unique_ptr<HouseToStreetTable> LoadHouseTableImpl(MwmValue const & value, std::string const & tag)
75{
76 unique_ptr<HouseToStreetTable> result;
77
78 try
79 {
80 auto const format = version::MwmTraits(value.GetMwmVersion()).GetHouseToStreetTableFormat();
81 CHECK_EQUAL(format, version::MwmTraits::HouseToStreetTableFormat::HouseToStreetTableWithHeader, ());
82
83 FilesContainerR::TReader reader = value.m_cont.GetReader(tag);
84
85 HouseToStreetTable::Header header;
86 ReaderSource source(reader);
87 header.Read(source);
88 CHECK(header.m_version == HouseToStreetTable::Version::V2, ());
89
90 auto subreader = reader.GetPtr()->CreateSubReader(header.m_tableOffset, header.m_tableSize);
91 CHECK(subreader, ());
92 result = make_unique<EliasFanoMap>(std::move(subreader));
93 }
94 catch (Reader::OpenException const & ex)
95 {
96 LOG(LERROR, (ex.Msg()));
97 }
98
99 if (!result)
100 result = make_unique<DummyTable>();
101 return result;
102}
103} // namespace
104
105std::unique_ptr<HouseToStreetTable> LoadHouseToStreetTable(MwmValue const & value)

Callers 2

LoadHouseToStreetTableFunction · 0.85
LoadHouseToPlaceTableFunction · 0.85

Calls 7

MwmTraitsClass · 0.85
GetMwmVersionMethod · 0.80
GetReaderMethod · 0.45
ReadMethod · 0.45
CreateSubReaderMethod · 0.45
GetPtrMethod · 0.45

Tested by

no test coverage detected