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:
authorVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-07-25 10:49:28 +0300
committerVladimir Byko-Ianko <v.bykoianko@corp.mail.ru>2016-07-26 18:51:57 +0300
commit73fccde2d4bc0e2ae41843a1f7fb574d9ccfce65 (patch)
tree3717e981cbc1d32710d138ce2caa8d7b7083864b /indexer/feature_altitude.hpp
parent979f48bfaf7322320801db215b1d0e3d231f8699 (diff)
Review fixes.
Diffstat (limited to 'indexer/feature_altitude.hpp')
-rw-r--r--indexer/feature_altitude.hpp69
1 files changed, 35 insertions, 34 deletions
diff --git a/indexer/feature_altitude.hpp b/indexer/feature_altitude.hpp
index 3b225d04ee..f72966b967 100644
--- a/indexer/feature_altitude.hpp
+++ b/indexer/feature_altitude.hpp
@@ -1,5 +1,7 @@
#pragma once
+#include "coding/reader.hpp"
#include "coding/varint.hpp"
+#include "coding/write_to_sink.hpp"
#include "base/assert.hpp"
@@ -11,7 +13,6 @@ namespace feature
{
using TAltitude = int16_t;
using TAltitudes = vector<feature::TAltitude>;
-using TAltitudeSectionOffset = uint32_t;
TAltitude constexpr kInvalidAltitude = numeric_limits<TAltitude>::min();
@@ -27,58 +28,58 @@ struct AltitudeHeader
template <class TSink>
void Serialize(TSink & sink) const
{
- sink.Write(&version, sizeof(version));
- sink.Write(&minAltitude, sizeof(minAltitude));
- sink.Write(&featureTableOffset, sizeof(featureTableOffset));
- sink.Write(&altitudeInfoOffset, sizeof(altitudeInfoOffset));
- sink.Write(&endOffset, sizeof(endOffset));
+ WriteToSink(sink, m_version);
+ WriteToSink(sink, m_minAltitude);
+ WriteToSink(sink, m_featureTableOffset);
+ WriteToSink(sink, m_altitudesOffset);
+ WriteToSink(sink, m_endOffset);
}
template <class TSource>
void Deserialize(TSource & src)
{
- src.Read(&version, sizeof(version));
- src.Read(&minAltitude, sizeof(minAltitude));
- src.Read(&featureTableOffset, sizeof(featureTableOffset));
- src.Read(&altitudeInfoOffset, sizeof(altitudeInfoOffset));
- src.Read(&endOffset, sizeof(endOffset));
+ m_version = ReadPrimitiveFromSource<TAltitudeSectionVersion>(src);
+ m_minAltitude = ReadPrimitiveFromSource<TAltitude>(src);
+ m_featureTableOffset = ReadPrimitiveFromSource<uint32_t>(src);
+ m_altitudesOffset = ReadPrimitiveFromSource<uint32_t>(src);
+ m_endOffset = ReadPrimitiveFromSource<uint32_t>(src);
}
// Methods below return sizes of parts of altitude section in bytes.
- static size_t GetHeaderSize() { return sizeof(AltitudeHeader); }
-
- size_t GetAltitudeAvailabilitySize() const { return featureTableOffset - GetHeaderSize(); }
- size_t GetFeatureTableSize() const { return altitudeInfoOffset - featureTableOffset; }
- size_t GetAltitudeInfo() const { return endOffset - altitudeInfoOffset; }
+ size_t GetAltitudeAvailabilitySize() const { return m_featureTableOffset - sizeof(AltitudeHeader); }
+ size_t GetFeatureTableSize() const { return m_altitudesOffset - m_featureTableOffset; }
+ size_t GetAltitudeInfo() const { return m_endOffset - m_altitudesOffset; }
void Reset()
{
- version = 1;
- minAltitude = kInvalidAltitude;
- featureTableOffset = 0;
- altitudeInfoOffset = 0;
- endOffset = 0;
+ m_version = 0;
+ m_minAltitude = kInvalidAltitude;
+ m_featureTableOffset = 0;
+ m_altitudesOffset = 0;
+ m_endOffset = 0;
}
- TAltitudeSectionVersion version;
- TAltitude minAltitude;
- TAltitudeSectionOffset featureTableOffset;
- TAltitudeSectionOffset altitudeInfoOffset;
- TAltitudeSectionOffset endOffset;
+ TAltitudeSectionVersion m_version;
+ TAltitude m_minAltitude;
+ uint32_t m_featureTableOffset;
+ uint32_t m_altitudesOffset;
+ uint32_t m_endOffset;
};
-class Altitude
+static_assert(sizeof(AltitudeHeader) == 16, "Wrong header size of altitude section.");
+
+class Altitudes
{
public:
- Altitude() = default;
- explicit Altitude(TAltitudes const & altitudes) : m_altitudes(altitudes) {}
+ Altitudes() = default;
+ explicit Altitudes(TAltitudes const & altitudes) : m_altitudes(altitudes) {}
template <class TSink>
void Serialize(TAltitude minAltitude, TSink & sink) const
{
CHECK(!m_altitudes.empty(), ());
- WriteVarInt(sink, static_cast<int32_t>(m_altitudes[0] - static_cast<int32_t>(minAltitude)));
+ WriteVarInt(sink, static_cast<int32_t>(m_altitudes[0]) - static_cast<int32_t>(minAltitude));
for (size_t i = 1; i < m_altitudes.size(); ++i)
WriteVarInt(sink, static_cast<int32_t>(m_altitudes[i]) - static_cast<int32_t>(m_altitudes[i - 1]));
}
@@ -94,17 +95,17 @@ public:
}
m_altitudes.resize(pointCount);
- TAltitude prevPntAltitude = minAltitude;
+ TAltitude prevAltitude = minAltitude;
for (size_t i = 0; i < pointCount; ++i)
{
- m_altitudes[i] = static_cast<TAltitude>(ReadVarInt<int32_t>(src) + prevPntAltitude);
+ m_altitudes[i] = static_cast<TAltitude>(ReadVarInt<int32_t>(src) + prevAltitude);
if (m_altitudes[i] < minAltitude)
{
ASSERT(false, ());
m_altitudes.clear();
return;
}
- prevPntAltitude = m_altitudes[i];
+ prevAltitude = m_altitudes[i];
}
}
@@ -114,7 +115,7 @@ public:
}
private:
- /// \note |m_altitudes| is a vector of feature point altitudes. There's two posibilities:
+ /// \note |m_altitudes| is a vector of feature point altitudes. There's two possibilities:
/// * |m_altitudes| is empty. It means there is no altitude information for this feature.
/// * size of |m_pointAlt| is equal to the number of this feature's points.
/// In this case the i'th element of |m_pointAlt| corresponds to the altitude of the