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:
authorAlex Zolotarev <deathbaba@gmail.com>2011-08-24 19:08:15 +0400
committerAlex Zolotarev <alex@maps.me>2015-09-23 01:22:18 +0300
commit1e9b3d7835fdc8dd1d7c97ef8fd8fef1c4e6249e (patch)
tree64364bf8f3fb50f59121da0bc1f1c78193abcfdc /generator/feature_generator.cpp
parentb873ba9d81e3cdc977bca0b1a40bafa0c337f255 (diff)
[linux][mac] Added mmap_reader when reading intermediate data
Diffstat (limited to 'generator/feature_generator.cpp')
-rw-r--r--generator/feature_generator.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/generator/feature_generator.cpp b/generator/feature_generator.cpp
index d2ef7c67de..c7bbabe577 100644
--- a/generator/feature_generator.cpp
+++ b/generator/feature_generator.cpp
@@ -11,6 +11,7 @@
#include "../indexer/cell_id.hpp"
#include "../coding/varint.hpp"
+#include "../coding/mmap_reader.hpp"
#include "../base/assert.hpp"
#include "../base/logging.hpp"
@@ -18,6 +19,7 @@
#include "../std/bind.hpp"
#include "../std/unordered_map.hpp"
+#include "../std/target_os.hpp"
namespace feature
{
@@ -189,16 +191,23 @@ void FeaturesCollector::operator() (FeatureBuilder1 const & fb)
class points_in_file
{
+#ifdef OMIM_OS_WINDOWS
FileReader m_file;
+#else
+ MmapReader m_file;
+#endif
public:
points_in_file(string const & name) : m_file(name) {}
bool GetPoint(uint64_t id, double & lat, double & lng) const
{
+#ifdef OMIM_OS_WINDOWS
LatLon ll;
m_file.Read(id * sizeof(ll), &ll, sizeof(ll));
-
+#else
+ LatLon const & ll = *reinterpret_cast<LatLon const *>(m_file.Data() + id * sizeof(ll));
+#endif
// assume that valid coordinate is not (0, 0)
if (ll.lat != 0.0 || ll.lon != 0.0)
{