Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Andrianov <maksimandrianov1@gmail.com>2021-02-11 15:16:25 +0300
committermpimenov <mpimenov@users.noreply.github.com>2021-02-16 15:26:20 +0300
commit585dc6b1e9f676a0877de7365b43c36813912c81 (patch)
treef5969308441ba7db2c5e74c76eb8d7aba55e81ea
parent5ada90f65c51491322623aeb600fee14789298d1 (diff)
Review fixes
-rw-r--r--generator/collector_boundary_postcode.cpp2
-rw-r--r--generator/collector_building_parts.cpp29
-rw-r--r--generator/collector_camera.cpp4
-rw-r--r--generator/collector_routing_city_boundaries.cpp44
-rw-r--r--generator/cross_mwm_osm_ways_collector.cpp1
-rw-r--r--generator/metalines_builder.cpp2
6 files changed, 39 insertions, 43 deletions
diff --git a/generator/collector_boundary_postcode.cpp b/generator/collector_boundary_postcode.cpp
index ff5d24aed5..2e0896f587 100644
--- a/generator/collector_boundary_postcode.cpp
+++ b/generator/collector_boundary_postcode.cpp
@@ -75,7 +75,7 @@ void BoundaryPostcodeCollector::OrderCollectedData()
ReaderSource src(reader);
while (src.Size() > 0)
{
- collectedData.resize(collectedData.size() + 1);
+ collectedData.push_back({});
utils::ReadString(src, collectedData.back().first);
rw::ReadVectorOfPOD(src, collectedData.back().second);
}
diff --git a/generator/collector_building_parts.cpp b/generator/collector_building_parts.cpp
index 7af34e8fa6..1b2350759b 100644
--- a/generator/collector_building_parts.cpp
+++ b/generator/collector_building_parts.cpp
@@ -47,6 +47,7 @@ private:
namespace generator
{
+// static
void BuildingPartsCollector::BuildingParts::Write(FileWriter & writer, BuildingParts const & pb)
{
WriteToSink(writer, pb.m_id.m_mainId.GetEncodedId());
@@ -57,6 +58,7 @@ void BuildingPartsCollector::BuildingParts::Write(FileWriter & writer, BuildingP
WriteToSink(writer, id.GetEncodedId());
}
+// static
BuildingPartsCollector::BuildingParts BuildingPartsCollector::BuildingParts::Read(
ReaderSource<FileReader> & src)
{
@@ -64,9 +66,9 @@ BuildingPartsCollector::BuildingParts BuildingPartsCollector::BuildingParts::Rea
auto const first = base::GeoObjectId(ReadPrimitiveFromSource<uint64_t>(src));
auto const second = base::GeoObjectId(ReadPrimitiveFromSource<uint64_t>(src));
bp.m_id = CompositeId(first, second);
- auto contSize = ReadPrimitiveFromSource<uint32_t>(src);
+ auto contSize = ReadVarUint<uint32_t>(src);
bp.m_buildingParts.reserve(contSize);
- while (--contSize)
+ while (contSize--)
bp.m_buildingParts.emplace_back(base::GeoObjectId(ReadPrimitiveFromSource<uint64_t>(src)));
return bp;
@@ -96,12 +98,12 @@ void BuildingPartsCollector::CollectFeature(feature::FeatureBuilder const & fb,
if (topId == base::GeoObjectId())
return;
- auto const parts = FindAllBuildingParts(topId);
+ auto parts = FindAllBuildingParts(topId);
if (!parts.empty())
{
BuildingParts bp;
bp.m_id = MakeCompositeId(fb);
- bp.m_buildingParts = parts;
+ bp.m_buildingParts = std::move(parts);
BuildingParts::Write(*m_writer, bp);
}
@@ -199,20 +201,11 @@ BuildingToBuildingPartsMap::BuildingToBuildingPartsMap(std::string const & filen
ReaderSource<FileReader> src(reader);
while (src.Size() > 0)
{
- base::GeoObjectId const mainId(ReadPrimitiveFromSource<uint64_t>(src));
- base::GeoObjectId const additionalId(ReadPrimitiveFromSource<uint64_t>(src));
- CompositeId const outlineId(mainId, additionalId);
- std::vector<base::GeoObjectId> buildingParts;
- auto contSize = ReadVarUint<uint32_t>(src);
- buildingParts.reserve(contSize);
- while (contSize--)
- {
- base::GeoObjectId const id(ReadPrimitiveFromSource<uint64_t>(src));
- buildingParts.emplace_back(id);
- }
- m_buildingParts.insert(std::end(m_buildingParts),
- std::begin(buildingParts), std::end(buildingParts));
- m_outlineToBuildingPart.emplace_back(outlineId, std::move(buildingParts));
+ auto const buildingParts = BuildingPartsCollector::BuildingParts::Read(src);
+ m_buildingParts.insert(std::end(m_buildingParts), std::begin(buildingParts.m_buildingParts),
+ std::end(buildingParts.m_buildingParts));
+ m_outlineToBuildingPart.emplace_back(buildingParts.m_id,
+ std::move(buildingParts.m_buildingParts));
}
m_outlineToBuildingPart.shrink_to_fit();
diff --git a/generator/collector_camera.cpp b/generator/collector_camera.cpp
index d7508cac44..7fe949e1cf 100644
--- a/generator/collector_camera.cpp
+++ b/generator/collector_camera.cpp
@@ -139,7 +139,7 @@ void CameraProcessor::FillCameraInWays()
for (auto & p : m_speedCameras)
p.second.m_ways = m_cameraToWays.count(p.first) != 0 ? m_cameraToWays.at(p.first) : empty;
- ForEachCamera([](auto c) { c.Normalize(); });
+ ForEachCamera([](auto & c) { c.Normalize(); });
}
void CameraProcessor::ProcessNode(OsmElement const & element)
@@ -190,7 +190,7 @@ void CameraProcessor::OrderCollectedData(std::string const & filename)
ReaderSource src(reader);
while (src.Size() > 0)
{
- collectedData.resize(collectedData.size() + 1);
+ collectedData.push_back({});
src.Read(&collectedData.back().first, sizeof(collectedData.back().first));
rw::ReadVectorOfPOD(src, collectedData.back().second);
}
diff --git a/generator/collector_routing_city_boundaries.cpp b/generator/collector_routing_city_boundaries.cpp
index 4e0f6a1cf6..3c7f700773 100644
--- a/generator/collector_routing_city_boundaries.cpp
+++ b/generator/collector_routing_city_boundaries.cpp
@@ -68,7 +68,7 @@ ftypes::LocalityType GetPlaceType(FeatureBuilder const & feature)
void TruncateAndWriteCount(std::string const & file, size_t n)
{
FileWriter writer(file, FileWriter::Op::OP_WRITE_TRUNCATE);
- writer.Write(&n, sizeof(n));
+ WriteToSink(writer, n);
}
} // namespace
@@ -112,29 +112,29 @@ bool RoutingCityBoundariesCollector::FilterOsmElement(OsmElement const & osmElem
void RoutingCityBoundariesCollector::LocalityData::Serialize(FileWriter & writer,
LocalityData const & localityData)
{
- writer.Write(&localityData.m_population, sizeof(localityData.m_population));
+ WriteToSink(writer, localityData.m_population);
auto const placeType = static_cast<uint32_t>(localityData.m_place);
- writer.Write(&placeType, sizeof(placeType));
+ WriteToSink(writer, placeType);
auto const pointU = PointDToPointU(localityData.m_position, kPointCoordBits);
- writer.Write(&pointU.x, sizeof(pointU.x));
- writer.Write(&pointU.y, sizeof(pointU.y));
+ WriteToSink(writer, pointU.x);
+ WriteToSink(writer, pointU.y);
}
RoutingCityBoundariesCollector::LocalityData
RoutingCityBoundariesCollector::LocalityData::Deserialize(ReaderSource<FileReader> & reader)
{
LocalityData localityData;
- reader.Read(&localityData.m_population, sizeof(localityData.m_population));
+ ReadPrimitiveFromSource(reader, localityData.m_population);
uint32_t placeType = 0;
- reader.Read(&placeType, sizeof(placeType));
+ ReadPrimitiveFromSource(reader, placeType);
localityData.m_place = static_cast<ftypes::LocalityType>(placeType);
m2::PointU pointU;
- reader.Read(&pointU.x, sizeof(pointU.x));
- reader.Read(&pointU.y, sizeof(pointU.y));
+ ReadPrimitiveFromSource(reader, pointU.x);
+ ReadPrimitiveFromSource(reader, pointU.y);
localityData.m_position = PointUToPointD(pointU, kPointCoordBits);
return localityData;
@@ -363,20 +363,22 @@ void RoutingCityBoundariesWriter::OrderCollectedData(std::string const & finalFi
{
FileReader reader(nodeToLocalityFilename);
ReaderSource src(reader);
- src.Read(&count, sizeof(count));
+ ReadPrimitiveFromSource(src, count);
+ collectedData.reserve(count);
while (src.Size() > 0)
{
- collectedData.resize(collectedData.size() + 1);
- src.Read(&collectedData.back().first, sizeof(collectedData.back().first));
+ collectedData.push_back({});
+ ReadPrimitiveFromSource(src, collectedData.back().first);
collectedData.back().second = LocalityData::Deserialize(src);
}
+ CHECK_EQUAL(collectedData.size(), count, ());
}
std::sort(std::begin(collectedData), std::end(collectedData));
FileWriter writer(nodeToLocalityFilename);
- writer.Write(&count, sizeof(count));
+ WriteToSink(writer, count);
for (auto const & p : collectedData)
{
- writer.Write(&p.first, sizeof(p.first));
+ WriteToSink(writer, p.first);
LocalityData::Serialize(writer, p.second);
}
}
@@ -387,23 +389,25 @@ void RoutingCityBoundariesWriter::OrderCollectedData(std::string const & finalFi
{
FileReader reader(nodeToBoundariesFilename);
ReaderSource src(reader);
- src.Read(&count, sizeof(count));
+ ReadPrimitiveFromSource(src, count);
+ collectedData.reserve(count);
while (src.Size() > 0)
{
- collectedData.resize(collectedData.size() + 1);
- src.Read(&collectedData.back().first, sizeof(collectedData.back().first));
+ collectedData.push_back({});
+ ReadPrimitiveFromSource(src, collectedData.back().first);
ReadFromSourceRawFormat(src, collectedData.back().second);
}
+ CHECK_EQUAL(collectedData.size(), count, ());
}
std::sort(
std::begin(collectedData), std::end(collectedData), [](auto const & lhs, auto const & rhs) {
return lhs.first == rhs.first ? Less(lhs.second, rhs.second) : lhs.first < rhs.first;
});
FileWriter writer(nodeToBoundariesFilename);
- writer.Write(&count, sizeof(count));
+ WriteToSink(writer, count);
for (auto const & p : collectedData)
{
- writer.Write(&p.first, sizeof(p.first));
+ WriteToSink(writer, p.first);
FeatureWriter::Write(writer, p.second);
}
}
@@ -414,7 +418,7 @@ void RoutingCityBoundariesWriter::OrderCollectedData(std::string const & finalFi
ReaderSource src(reader);
while (src.Size() > 0)
{
- collectedData.resize(collectedData.size() + 1);
+ collectedData.push_back({});
rw::ReadVectorOfPOD(src, collectedData.back());
}
}
diff --git a/generator/cross_mwm_osm_ways_collector.cpp b/generator/cross_mwm_osm_ways_collector.cpp
index a28a1c5aa0..8aa67f3e1d 100644
--- a/generator/cross_mwm_osm_ways_collector.cpp
+++ b/generator/cross_mwm_osm_ways_collector.cpp
@@ -147,7 +147,6 @@ void CrossMwmOsmWaysCollector::Save()
void CrossMwmOsmWaysCollector::OrderCollectedData()
{
auto const & crossMwmOsmWaysDir = base::JoinPath(m_intermediateDir, CROSS_MWM_OSM_WAYS_DIR);
- CHECK(Platform::MkDirChecked(crossMwmOsmWaysDir), (crossMwmOsmWaysDir));
for (auto const & item : m_mwmToCrossMwmOsmIds)
OrderTextFileByLine(base::JoinPath(crossMwmOsmWaysDir, item.first));
}
diff --git a/generator/metalines_builder.cpp b/generator/metalines_builder.cpp
index a3fede74cb..707819a812 100644
--- a/generator/metalines_builder.cpp
+++ b/generator/metalines_builder.cpp
@@ -219,7 +219,7 @@ void MetalinesBuilder::OrderCollectedData()
ReaderSource src(reader);
while (src.Size() > 0)
{
- collectedData.resize(collectedData.size() + 1);
+ collectedData.push_back({});
rw::ReadVectorOfPOD(src, collectedData.back());
}
}