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:
-rw-r--r--coding/fixed_bits_ddvector.hpp2
-rw-r--r--generator/altitude_generator.cpp9
-rw-r--r--generator/booking_quality_check/booking_quality_check.cpp2
-rw-r--r--generator/feature_segments_checker/feature_segments_checker.cpp3
-rw-r--r--generator/restriction_generator.cpp5
-rw-r--r--generator/routing_index_generator.cpp3
-rw-r--r--generator/search_index_builder.cpp2
-rw-r--r--generator/sponsored_dataset_inl.hpp2
-rw-r--r--generator/srtm_coverage_checker/srtm_coverage_checker.cpp2
-rw-r--r--indexer/indexer_tests/trie_test.cpp2
-rw-r--r--indexer/trie_builder.hpp11
-rw-r--r--routing/index_graph_serialization.hpp4
-rw-r--r--routing/road_index.hpp4
-rw-r--r--routing/routing_serialization.hpp11
14 files changed, 37 insertions, 25 deletions
diff --git a/coding/fixed_bits_ddvector.hpp b/coding/fixed_bits_ddvector.hpp
index a1b619fb61..6a33acc0e5 100644
--- a/coding/fixed_bits_ddvector.hpp
+++ b/coding/fixed_bits_ddvector.hpp
@@ -130,6 +130,8 @@ public:
TWriter & m_finalWriter;
public:
+ using ValueType = TValue;
+
explicit Builder(TWriter & writer)
: m_writer(m_data), m_bits(new TBits(m_writer)), m_finalWriter(writer)
{
diff --git a/generator/altitude_generator.cpp b/generator/altitude_generator.cpp
index d90a6d008f..1308ebc108 100644
--- a/generator/altitude_generator.cpp
+++ b/generator/altitude_generator.cpp
@@ -20,6 +20,7 @@
#include "geometry/latlon.hpp"
#include "base/assert.hpp"
+#include "base/checked_cast.hpp"
#include "base/logging.hpp"
#include "base/scope_guard.hpp"
#include "base/stl_helpers.hpp"
@@ -184,7 +185,7 @@ void BuildRoadAltitudes(string const & mwmPath, AltitudeGetter & altitudeGetter)
succinct::bit_vector_builder & builder = processor.GetAltitudeAvailabilityBuilder();
succinct::rs_bit_vector(&builder).map(visitor);
}
- header.m_featureTableOffset = w.Pos() - startOffset;
+ header.m_featureTableOffset = base::checked_cast<uint32_t>(w.Pos() - startOffset);
vector<uint32_t> offsets;
vector<uint8_t> deltas;
@@ -194,7 +195,7 @@ void BuildRoadAltitudes(string const & mwmPath, AltitudeGetter & altitudeGetter)
Processor::TFeatureAltitudes const & featureAltitudes = processor.GetFeatureAltitudes();
for (auto const & a : featureAltitudes)
{
- offsets.push_back(writer.Pos());
+ offsets.push_back(base::checked_cast<uint32_t>(writer.Pos()));
a.m_altitudes.Serialize(header.m_minAltitude, writer);
}
}
@@ -211,10 +212,10 @@ void BuildRoadAltitudes(string const & mwmPath, AltitudeGetter & altitudeGetter)
succinct::elias_fano(&builder).map(visitor);
}
// Writing altitude info.
- header.m_altitudesOffset = w.Pos() - startOffset;
+ header.m_altitudesOffset = base::checked_cast<uint32_t>(w.Pos() - startOffset);
w.Write(deltas.data(), deltas.size());
w.WritePaddingByEnd(8);
- header.m_endOffset = w.Pos() - startOffset;
+ header.m_endOffset = base::checked_cast<uint32_t>(w.Pos() - startOffset);
// Rewriting header info.
int64_t const endOffset = w.Pos();
diff --git a/generator/booking_quality_check/booking_quality_check.cpp b/generator/booking_quality_check/booking_quality_check.cpp
index 1d189e1b77..28f3237bfb 100644
--- a/generator/booking_quality_check/booking_quality_check.cpp
+++ b/generator/booking_quality_check/booking_quality_check.cpp
@@ -278,7 +278,7 @@ void GenerateSample(Dataset const & dataset,
boost::copy(features | boost::adaptors::map_keys, begin(elementIndexes));
// TODO(mgsergio): Try RandomSample (from search:: at the moment of writing).
- shuffle(elementIndexes.begin(), elementIndexes.end(), minstd_rand(FLAGS_seed));
+ shuffle(elementIndexes.begin(), elementIndexes.end(), minstd_rand(static_cast<uint32_t>(FLAGS_seed)));
if (FLAGS_selection_size < elementIndexes.size())
elementIndexes.resize(FLAGS_selection_size);
diff --git a/generator/feature_segments_checker/feature_segments_checker.cpp b/generator/feature_segments_checker/feature_segments_checker.cpp
index aa7e2c534e..b37a45809b 100644
--- a/generator/feature_segments_checker/feature_segments_checker.cpp
+++ b/generator/feature_segments_checker/feature_segments_checker.cpp
@@ -15,6 +15,7 @@
#include "platform/platform.hpp"
+#include "base/checked_cast.hpp"
#include "base/logging.hpp"
#include "base/math.hpp"
@@ -166,7 +167,7 @@ public:
}
f.ParseGeometry(FeatureType::BEST_GEOMETRY);
- uint32_t const numPoints = f.GetPointsCount();
+ uint32_t const numPoints = base::asserted_cast<uint32_t>(f.GetPointsCount());
if (numPoints == 0)
{
++m_emptyRoadCount;
diff --git a/generator/restriction_generator.cpp b/generator/restriction_generator.cpp
index bf672dd81e..6613e12cd3 100644
--- a/generator/restriction_generator.cpp
+++ b/generator/restriction_generator.cpp
@@ -5,6 +5,7 @@
#include "coding/file_container.hpp"
#include "coding/file_writer.hpp"
+#include "base/checked_cast.hpp"
#include "base/logging.hpp"
#include "base/stl_helpers.hpp"
@@ -33,8 +34,8 @@ bool BuildRoadRestrictions(string const & mwmPath, string const & restrictionPat
lower_bound(restrictions.cbegin(), restrictions.cend(),
Restriction(Restriction::Type::Only, {} /* links */), my::LessBy(&Restriction::m_type));
RoutingHeader header;
- header.m_noRestrictionCount = distance(restrictions.cbegin(), firstOnlyIt);
- header.m_onlyRestrictionCount = restrictions.size() - header.m_noRestrictionCount;
+ header.m_noRestrictionCount = base::checked_cast<uint32_t>(distance(restrictions.cbegin(), firstOnlyIt));
+ header.m_onlyRestrictionCount = base::checked_cast<uint32_t>(restrictions.size() - header.m_noRestrictionCount);
LOG(LINFO, ("Header info. There are", header.m_noRestrictionCount, "of type No restrictions and",
header.m_onlyRestrictionCount, "of type Only restrictions"));
diff --git a/generator/routing_index_generator.cpp b/generator/routing_index_generator.cpp
index 8b6016fe9d..bbd1d8caad 100644
--- a/generator/routing_index_generator.cpp
+++ b/generator/routing_index_generator.cpp
@@ -13,6 +13,7 @@
#include "coding/file_container.hpp"
+#include "base/checked_cast.hpp"
#include "base/logging.hpp"
#include "std/bind.hpp"
@@ -72,7 +73,7 @@ private:
for (size_t i = 0; i < f.GetPointsCount(); ++i)
{
uint64_t const locationKey = PointToInt64(f.GetPoint(i), POINT_COORD_BITS);
- m_posToJoint[locationKey].AddPoint(RoadPoint(id, i));
+ m_posToJoint[locationKey].AddPoint(RoadPoint(id, base::checked_cast<uint32_t>(i)));
}
}
diff --git a/generator/search_index_builder.cpp b/generator/search_index_builder.cpp
index 016b2a9e2e..78e08059a2 100644
--- a/generator/search_index_builder.cpp
+++ b/generator/search_index_builder.cpp
@@ -363,7 +363,7 @@ void BuildAddressTable(FilesContainerR & container, Writer & writer)
++address;
}
if (streetMatched)
- building2Street.PushBack(streetIndex);
+ building2Street.PushBack(base::checked_cast<decltype(building2Street)::ValueType>(streetIndex));
else
building2Street.PushBackUndefined();
}
diff --git a/generator/sponsored_dataset_inl.hpp b/generator/sponsored_dataset_inl.hpp
index 355192885a..12364346a3 100644
--- a/generator/sponsored_dataset_inl.hpp
+++ b/generator/sponsored_dataset_inl.hpp
@@ -111,7 +111,7 @@ SponsoredDataset<SponsoredObject>::GetNearestObjects(ms::LatLon const & latLon,
namespace bgi = boost::geometry::index;
vector<ObjectId> indexes;
- for_each(bgi::qbegin(m_rtree, bgi::nearest(Point(latLon.lat, latLon.lon), limit)),
+ for_each(bgi::qbegin(m_rtree, bgi::nearest(Point(latLon.lat, latLon.lon), static_cast<unsigned>(limit))),
bgi::qend(m_rtree), [this, &latLon, &indexes, maxDistanceMeters](Value const & v)
{
auto const & object = GetObjectById(v.second);
diff --git a/generator/srtm_coverage_checker/srtm_coverage_checker.cpp b/generator/srtm_coverage_checker/srtm_coverage_checker.cpp
index dfd033522b..28b366ea05 100644
--- a/generator/srtm_coverage_checker/srtm_coverage_checker.cpp
+++ b/generator/srtm_coverage_checker/srtm_coverage_checker.cpp
@@ -71,7 +71,7 @@ int main(int argc, char * argv[])
size_t all = 0;
size_t good = 0;
- for (size_t i = 0; i < dataFacade.GetNumberOfNodes(); ++i)
+ for (TOsrmNodeId i = 0; i < dataFacade.GetNumberOfNodes(); ++i)
{
buffer_vector<OsrmMappingTypes::FtSeg, 8> buffer;
segMapping.ForEachFtSeg(i, MakeBackInsertFunctor(buffer));
diff --git a/indexer/indexer_tests/trie_test.cpp b/indexer/indexer_tests/trie_test.cpp
index ca3555648f..38265302bd 100644
--- a/indexer/indexer_tests/trie_test.cpp
+++ b/indexer/indexer_tests/trie_test.cpp
@@ -36,7 +36,7 @@ struct ChildNodeInfo
uint32_t Size() const { return m_size; }
bool IsLeaf() const { return m_isLeaf; }
uint32_t const * GetEdge() const { return &m_edge[0]; }
- uint32_t GetEdgeSize() const { return m_edge.size(); }
+ size_t GetEdgeSize() const { return m_edge.size(); }
};
// The SingleValueSerializer and ValueList classes are similar to
diff --git a/indexer/trie_builder.hpp b/indexer/trie_builder.hpp
index bf728c50da..02dfcf3737 100644
--- a/indexer/trie_builder.hpp
+++ b/indexer/trie_builder.hpp
@@ -5,6 +5,7 @@
#include "coding/varint.hpp"
#include "base/buffer_vector.hpp"
+#include "base/checked_cast.hpp"
#include "base/logging.hpp"
#include "std/algorithm.hpp"
@@ -48,7 +49,7 @@ void WriteNode(TSink & sink, TSerializer const & serializer, TrieChar baseChar,
TValueList const & valueList, TChildIter const begChild, TChildIter const endChild,
bool isRoot = false)
{
- uint32_t const valueCount = valueList.Size();
+ uint32_t const valueCount = base::asserted_cast<uint32_t>(valueList.Size());
if (begChild == endChild && !isRoot)
{
// Leaf node.
@@ -65,7 +66,7 @@ void WriteNode(TSink & sink, TSerializer const & serializer, TrieChar baseChar,
return;
}
- uint32_t const childCount = endChild - begChild;
+ uint32_t const childCount = base::asserted_cast<uint32_t>(endChild - begChild);
uint8_t const header = static_cast<uint32_t>((min(valueCount, 3U) << 6) + min(childCount, 63U));
sink.Write(&header, 1);
if (valueCount >= 3)
@@ -77,7 +78,7 @@ void WriteNode(TSink & sink, TSerializer const & serializer, TrieChar baseChar,
{
uint8_t header = (it->IsLeaf() ? 128 : 0);
TrieChar const * const edge = it->GetEdge();
- uint32_t const edgeSize = it->GetEdgeSize();
+ uint32_t const edgeSize = base::asserted_cast<uint32_t>(it->GetEdgeSize());
CHECK_NOT_EQUAL(edgeSize, 0, ());
CHECK_LESS(edgeSize, 100000, ());
uint32_t const diff0 = bits::ZigZagEncode(int32_t(edge[0] - baseChar));
@@ -127,7 +128,7 @@ struct ChildInfo
uint32_t Size() const { return m_size; }
bool IsLeaf() const { return m_isLeaf; }
TrieChar const * GetEdge() const { return m_edge.data(); }
- uint32_t GetEdgeSize() const { return m_edge.size(); }
+ size_t GetEdgeSize() const { return m_edge.size(); }
};
template <typename TValueList>
@@ -184,7 +185,7 @@ void WriteNodeReverse(TSink & sink, TSerializer const & serializer, TrieChar bas
}
template <typename TSink, typename TNodes, typename TSerializer>
-void PopNodes(TSink & sink, TSerializer const & serializer, TNodes & nodes, int nodesToPop)
+void PopNodes(TSink & sink, TSerializer const & serializer, TNodes & nodes, size_t nodesToPop)
{
using TNodeInfo = typename TNodes::value_type;
ASSERT_GREATER(nodes.size(), nodesToPop, ());
diff --git a/routing/index_graph_serialization.hpp b/routing/index_graph_serialization.hpp
index 796f2fd97d..a11b358b25 100644
--- a/routing/index_graph_serialization.hpp
+++ b/routing/index_graph_serialization.hpp
@@ -10,6 +10,8 @@
#include "coding/reader.hpp"
#include "coding/write_to_sink.hpp"
+#include "base/checked_cast.hpp"
+
#include "std/algorithm.hpp"
#include "std/cstdint.hpp"
#include "std/limits.hpp"
@@ -218,7 +220,7 @@ private:
uint32_t GetNumRoads() const { return m_numRoads; }
Joint::Id GetNumJoints() const { return m_numJoints; }
- uint32_t GetNumSections() const { return m_sections.size(); }
+ uint32_t GetNumSections() const { return base::asserted_cast<uint32_t>(m_sections.size()); }
Section const & GetSection(size_t index) const
{
diff --git a/routing/road_index.hpp b/routing/road_index.hpp
index 779183172a..ada8b054ce 100644
--- a/routing/road_index.hpp
+++ b/routing/road_index.hpp
@@ -2,6 +2,8 @@
#include "routing/joint.hpp"
+#include "base/checked_cast.hpp"
+
#include "std/algorithm.hpp"
#include "std/cstdint.hpp"
#include "std/unordered_map.hpp"
@@ -130,7 +132,7 @@ public:
// If there is no nearest point, return {Joint::kInvalidId, 0}
pair<Joint::Id, uint32_t> FindNeighbor(RoadPoint const & rp, bool forward) const;
- uint32_t GetSize() const { return m_roads.size(); }
+ uint32_t GetSize() const { return base::asserted_cast<uint32_t>(m_roads.size()); }
Joint::Id GetJointId(RoadPoint const & rp) const
{
diff --git a/routing/routing_serialization.hpp b/routing/routing_serialization.hpp
index 87a7782a7b..8e1b747a7c 100644
--- a/routing/routing_serialization.hpp
+++ b/routing/routing_serialization.hpp
@@ -9,6 +9,7 @@
#include "base/assert.hpp"
#include "base/bits.hpp"
+#include "base/checked_cast.hpp"
#include "std/algorithm.hpp"
#include "std/string.hpp"
@@ -163,7 +164,7 @@ private:
BitReader<Source> bits(src);
for (size_t i = 0; i < count; ++i)
{
- uint32_t const biasedLinkNumber = coding::DeltaCoder::Decode(bits);
+ auto const biasedLinkNumber = coding::DeltaCoder::Decode(bits);
if (biasedLinkNumber == 0)
{
LOG(LERROR, ("Decoded link restriction number is zero."));
@@ -173,22 +174,22 @@ private:
routing::Restriction restriction(type, {} /* links */);
restriction.m_featureIds.resize(numLinks);
- uint32_t const biasedFirstFeatureId = coding::DeltaCoder::Decode(bits);
+ auto const biasedFirstFeatureId = coding::DeltaCoder::Decode(bits);
if (biasedFirstFeatureId == 0)
{
LOG(LERROR, ("Decoded first link restriction feature id delta is zero."));
return false;
}
- restriction.m_featureIds[0] = prevFirstLinkFeatureId + biasedFirstFeatureId - 1;
+ restriction.m_featureIds[0] = prevFirstLinkFeatureId + base::checked_cast<uint32_t>(biasedFirstFeatureId) - 1;
for (size_t i = 1; i < numLinks; ++i)
{
- uint32_t const biasedDelta = coding::DeltaCoder::Decode(bits);
+ auto const biasedDelta = coding::DeltaCoder::Decode(bits);
if (biasedDelta == 0)
{
LOG(LERROR, ("Decoded link restriction feature id delta is zero."));
return false;
}
- uint32_t const delta = biasedDelta - 1;
+ auto const delta = biasedDelta - 1;
restriction.m_featureIds[i] = static_cast<uint32_t>(
bits::ZigZagDecode(delta) + restriction.m_featureIds[i - 1]);
}