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:
authorДобрый Ээх <bukharaev@gmail.com>2016-11-16 21:08:50 +0300
committerДобрый Ээх <bukharaev@gmail.com>2016-11-25 18:57:21 +0300
commitdf2bd34a17e6efbd9dc6574ee71f3433b6696d69 (patch)
treeeed2b0f7e3f0e242486c66926bb41c506173e5c8 /indexer
parent80470671117793d93bee033c61d2487c00d17389 (diff)
indexed astar router
Diffstat (limited to 'indexer')
-rw-r--r--indexer/indexer.pro1
-rw-r--r--indexer/routing_section.hpp40
2 files changed, 41 insertions, 0 deletions
diff --git a/indexer/indexer.pro b/indexer/indexer.pro
index 69a8396265..57a5db455a 100644
--- a/indexer/indexer.pro
+++ b/indexer/indexer.pro
@@ -117,6 +117,7 @@ HEADERS += \
point_to_int64.hpp \
postcodes_matcher.hpp \ # it's in indexer due to editor wich is in indexer and depends on postcodes_marcher
rank_table.hpp \
+ routing_section.hpp \
scale_index.hpp \
scale_index_builder.hpp \
scales.hpp \
diff --git a/indexer/routing_section.hpp b/indexer/routing_section.hpp
new file mode 100644
index 0000000000..7c9544c755
--- /dev/null
+++ b/indexer/routing_section.hpp
@@ -0,0 +1,40 @@
+#pragma once
+
+#include "coding/reader.hpp"
+#include "coding/write_to_sink.hpp"
+
+#include "std/cstdint.hpp"
+
+namespace feature
+{
+class RoutingSectionHeader final
+{
+public:
+ RoutingSectionHeader() : m_version(0), m_reserved16(0), m_reserved32(0) {}
+
+ uint16_t GetVersion() const { return m_version; }
+
+ template <class TSink>
+ void Serialize(TSink & sink) const
+ {
+ WriteToSink(sink, m_version);
+ WriteToSink(sink, m_reserved16);
+ WriteToSink(sink, m_reserved32);
+ }
+
+ template <class TSource>
+ void Deserialize(TSource & src)
+ {
+ m_version = ReadPrimitiveFromSource<decltype(m_version)>(src);
+ m_reserved16 = ReadPrimitiveFromSource<decltype(m_reserved16)>(src);
+ m_reserved32 = ReadPrimitiveFromSource<decltype(m_reserved32)>(src);
+ }
+
+private:
+ uint16_t m_version;
+ uint16_t m_reserved16;
+ uint32_t m_reserved32;
+};
+
+static_assert(sizeof(RoutingSectionHeader) == 8, "Wrong header size of routing section.");
+} // namespace feature