From 73df2beda7996e7b443cba41d451daccb2e29a3e Mon Sep 17 00:00:00 2001 From: Maxim Pimenov Date: Wed, 20 Jun 2018 17:46:48 +0300 Subject: [PATCH] [coding] Default cache params in FileReader's constructor. Now that we know all the places that depended on the implicit params, fall back to the simple constructor. The main problem here was that there used to be a component in generator/intermediate_data.hpp where the same field could be used both as a reader and as a writer via template metaprogramming. This effectively forced the constructors of FileReader and FileWriter to have the same parameter list. Three default parameters in FileReader's constructor that could be implicitly cast to one another only complicated the matters, so once we have removed the |withException| param an extra check was needed that all the constructors are now used as intended. --- coding/coding_tests/csv_reader_test.cpp | 9 ++---- coding/coding_tests/reader_test.cpp | 16 ++++------- .../coding_tests/reader_writer_ops_test.cpp | 4 +-- coding/coding_tests/writer_test.cpp | 18 ++++++------ coding/coding_tests/zip_creator_test.cpp | 5 +--- coding/coding_tests/zip_reader_test.cpp | 6 ++-- coding/file_container.cpp | 14 ++++------ coding/file_reader.cpp | 19 ++++++++----- coding/file_reader.hpp | 6 ++-- coding/file_sort.hpp | 3 +- generator/cities_boundaries_builder.cpp | 2 +- generator/dumper.cpp | 5 ++-- generator/feature_builder.hpp | 2 +- generator/feature_sorter.cpp | 3 +- generator/gen_mwm_info.hpp | 3 +- generator/intermediate_data.cpp | 16 +++-------- generator/locality_sorter.cpp | 2 +- generator/metalines_builder.cpp | 3 +- generator/mwm_diff/diff.cpp | 12 +++----- generator/routing_index_generator.cpp | 3 +- generator/search_index_builder.cpp | 4 +-- generator/utils.hpp | 2 +- generator/world_map_generator.hpp | 3 +- indexer/feature_processor.hpp | 28 ++++++++----------- indexer/locality_index_builder.hpp | 3 +- indexer/scale_index_builder.hpp | 6 ++-- kml/kml_tests/serdes_tests.cpp | 8 +++--- .../local_ads_tests/file_helpers_tests.cpp | 9 ++---- local_ads/statistics.cpp | 8 ++---- map/bookmark_helpers.cpp | 4 +-- map/cloud.cpp | 4 +-- map/local_ads_manager.cpp | 3 +- map/map_tests/bookmarks_test.cpp | 5 +--- platform/chunks_download_strategy.cpp | 2 +- platform/string_storage_base.cpp | 3 +- routing/geometry.cpp | 3 +- track_analyzing/track_analyzer/cmd_table.cpp | 3 +- track_analyzing/track_analyzer/cmd_track.cpp | 3 +- track_analyzing/utils.cpp | 2 +- ugc/storage.cpp | 13 ++++----- 40 files changed, 105 insertions(+), 162 deletions(-) diff --git a/coding/coding_tests/csv_reader_test.cpp b/coding/coding_tests/csv_reader_test.cpp index 48518c1139..60d3f77085 100644 --- a/coding/coding_tests/csv_reader_test.cpp +++ b/coding/coding_tests/csv_reader_test.cpp @@ -25,8 +25,7 @@ UNIT_TEST(CSVReaderSmoke) { auto const fileName = "test.csv"; ScopedFile sf(fileName, kCSV1); - FileReader fileReader(sf.GetFullPath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader fileReader(sf.GetFullPath()); CSVReader reader; reader.Read(fileReader, [](File const & file) { TEST_EQUAL(file.size(), 1, ()); @@ -50,8 +49,7 @@ UNIT_TEST(CSVReaderCustomDelimiter) { auto const fileName = "test.csv"; ScopedFile sf(fileName, kCSV2); - FileReader fileReader(sf.GetFullPath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader fileReader(sf.GetFullPath()); CSVReader reader; CSVReader::Params p; p.m_readHeader = true; @@ -69,8 +67,7 @@ UNIT_TEST(CSVReaderEmptyFile) { auto const fileName = "test.csv"; ScopedFile sf(fileName, kCSV2); - FileReader fileReader(sf.GetFullPath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader fileReader(sf.GetFullPath()); CSVReader reader; reader.Read(fileReader, [](File const & file) { TEST_EQUAL(file.size(), 0, ()); }); diff --git a/coding/coding_tests/reader_test.cpp b/coding/coding_tests/reader_test.cpp index d751fea5e2..0da69bb07a 100644 --- a/coding/coding_tests/reader_test.cpp +++ b/coding/coding_tests/reader_test.cpp @@ -30,8 +30,7 @@ UNIT_TEST(FileReaderSmokeTest) } { - FileReader fileReader("reader_test_tmp.dat", FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader fileReader("reader_test_tmp.dat"); TestReader(fileReader); } FileWriter::DeleteFileX("reader_test_tmp.dat"); @@ -48,9 +47,7 @@ UNIT_TEST(BufferReaderSmokeTest) writer.Write(&data[0], data.size()); } - BufferReader r2(FileReader("reader_test_tmp.dat", FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount), - 7); + BufferReader r2(FileReader("reader_test_tmp.dat"), 7); TestReader(r2); FileWriter::DeleteFileX("reader_test_tmp.dat"); } @@ -66,8 +63,7 @@ UNIT_TEST(FileReaderNonExistentFileTest) { try { - FileReader reader("skjhfaxniauiuq2bmnszmn093sklsd", FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader("skjhfaxniauiuq2bmnszmn093sklsd"); TEST(false, ("Exception should be thrown!")); } catch (FileReader::OpenException &) @@ -85,8 +81,7 @@ UNIT_TEST(FileReaderReadAsText) { string text; - FileReader(fName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - .ReadAsString(text); + FileReader(fName).ReadAsString(text); TEST_EQUAL(text, fName, ()); } @@ -104,8 +99,7 @@ UNIT_TEST(ReaderStreamBuf) } { - ReaderStreamBuf buffer(make_unique(name, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount)); + ReaderStreamBuf buffer(make_unique(name)); istream s(&buffer); std::string str; diff --git a/coding/coding_tests/reader_writer_ops_test.cpp b/coding/coding_tests/reader_writer_ops_test.cpp index dc4c4526b9..ecf6ff2081 100644 --- a/coding/coding_tests/reader_writer_ops_test.cpp +++ b/coding/coding_tests/reader_writer_ops_test.cpp @@ -21,7 +21,7 @@ namespace } { - FileReader reader(tmpFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(tmpFile); buffer.clear(); MemWriter > writer(buffer); rw_ops::Reverse(reader, writer); @@ -64,7 +64,7 @@ UNIT_TEST(Reverse_Smoke) { { FillRandFile(tmpFile, 10 * 1024 + 527); - FileReader reader(tmpFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(tmpFile); vector buffer; GetReverseForReaderAndTmpFile(reader, buffer); diff --git a/coding/coding_tests/writer_test.cpp b/coding/coding_tests/writer_test.cpp index c08afb79f1..7d5277f6c2 100644 --- a/coding/coding_tests/writer_test.cpp +++ b/coding/coding_tests/writer_test.cpp @@ -50,7 +50,7 @@ UNIT_TEST(FileWriter_Smoke) } vector s; { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); s.resize(reader.Size()); reader.Read(0, &s[0], reader.Size()); } @@ -85,7 +85,7 @@ UNIT_TEST(SubWriter_FileWriter_Smoke) } vector s; { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); s.resize(reader.Size()); reader.Read(0, &s[0], reader.Size()); } @@ -101,13 +101,13 @@ UNIT_TEST(FileWriter_DeleteFile) writer.Write("123", 3); } { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); TEST_EQUAL(reader.Size(), 3, ()); } FileWriter::DeleteFileX(fileName); try { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); TEST(false, ("Exception should be thrown!")); } catch (FileReader::OpenException & ) @@ -127,7 +127,7 @@ UNIT_TEST(FileWriter_AppendAndOpenExisting) writer.Write("abcd", 4); } { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); TEST_EQUAL(reader.Size(), 4, ()); string s(static_cast(reader.Size()), 0); reader.Read(0, &s[0], s.size()); @@ -138,7 +138,7 @@ UNIT_TEST(FileWriter_AppendAndOpenExisting) writer.Write("123", 3); } { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); TEST_EQUAL(reader.Size(), 3, ()); } { @@ -146,7 +146,7 @@ UNIT_TEST(FileWriter_AppendAndOpenExisting) writer.Write("4", 1); } { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); TEST_EQUAL(reader.Size(), 4, ()); string s(static_cast(reader.Size()), 0); reader.Read(0, &s[0], s.size()); @@ -158,7 +158,7 @@ UNIT_TEST(FileWriter_AppendAndOpenExisting) writer.Write("56", 2); } { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); TEST_EQUAL(reader.Size(), 4, ()); string s(static_cast(reader.Size()), 0); reader.Read(0, &s[0], 4); @@ -219,7 +219,7 @@ UNIT_TEST(FileWriter_Chunks) WriteTestData2(fileWriter); } { - FileReader r(TEST_FILE, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(TEST_FILE); ReadTestData(r); } FileWriter::DeleteFileX(TEST_FILE); diff --git a/coding/coding_tests/zip_creator_test.cpp b/coding/coding_tests/zip_creator_test.cpp index 2c3592731c..781f6ff9f4 100644 --- a/coding/coding_tests/zip_creator_test.cpp +++ b/coding/coding_tests/zip_creator_test.cpp @@ -19,10 +19,7 @@ void CreateAndTestZip(string const & filePath, string const & zipPath) ZipFileReader::FileListT files; ZipFileReader::FilesList(zipPath, files); - TEST_EQUAL(files[0].second, - FileReader(filePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - .Size(), - ()); + TEST_EQUAL(files[0].second, FileReader(filePath).Size(), ()); string const unzippedFile = "unzipped.tmp"; ZipFileReader::UnzipFile(zipPath, files[0].first, unzippedFile); diff --git a/coding/coding_tests/zip_reader_test.cpp b/coding/coding_tests/zip_reader_test.cpp index e7ac65d061..bb8781dfc7 100644 --- a/coding/coding_tests/zip_reader_test.cpp +++ b/coding/coding_tests/zip_reader_test.cpp @@ -175,15 +175,13 @@ UNIT_TEST(ZipExtract) string s; ZipFileReader::UnzipFile(ZIPFILE, files[0].first, OUTFILE); { - FileReader(OUTFILE, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - .ReadAsString(s); + FileReader(OUTFILE).ReadAsString(s); } TEST_EQUAL(s, "aaaaaaaaaa\x0A", ()); // OUTFILE should be rewritten correctly in the next lines ZipFileReader::UnzipFile(ZIPFILE, files[1].first, OUTFILE); { - FileReader(OUTFILE, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - .ReadAsString(s); + FileReader(OUTFILE).ReadAsString(s); } TEST_EQUAL(s, "Holalala\x0A", ()); FileWriter::DeleteFileX(OUTFILE); diff --git a/coding/file_container.cpp b/coding/file_container.cpp index 55845d6834..69d4a698f7 100644 --- a/coding/file_container.cpp +++ b/coding/file_container.cpp @@ -211,7 +211,7 @@ FilesMappingContainer::~FilesMappingContainer() void FilesMappingContainer::Open(string const & fName) { { - FileReader reader(fName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fName); ReadInfo(reader); } @@ -242,8 +242,7 @@ FileReader FilesMappingContainer::GetReader(Tag const & tag) const Info const * p = GetInfo(tag); if (!p) MYTHROW(Reader::OpenException, ("Can't find section:", m_name, tag)); - return FileReader(m_name, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - .SubReader(p->m_offset, p->m_size); + return FileReader(m_name).SubReader(p->m_offset, p->m_size); } ///////////////////////////////////////////////////////////////////////////// @@ -308,7 +307,7 @@ void FilesContainerW::Open(FileWriter::Op op) case FileWriter::OP_WRITE_EXISTING: { // read an existing service info - FileReader reader(m_name, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(m_name); ReadInfo(reader); } @@ -351,8 +350,7 @@ FilesContainerW::~FilesContainerW() uint64_t FilesContainerW::SaveCurrentSize() { ASSERT(!m_bFinished, ()); - uint64_t const curr = - FileReader(m_name, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount).Size(); + uint64_t const curr = FileReader(m_name).Size(); if (!m_info.empty()) m_info.back().m_size = curr - m_info.back().m_offset; return curr; @@ -428,9 +426,7 @@ FileWriter FilesContainerW::GetWriter(Tag const & tag) void FilesContainerW::Write(string const & fPath, Tag const & tag) { - Write(ModelReaderPtr(make_unique(fPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount)), - tag); + Write(ModelReaderPtr(make_unique(fPath)), tag); } void FilesContainerW::Write(ModelReaderPtr reader, Tag const & tag) diff --git a/coding/file_reader.cpp b/coding/file_reader.cpp index 3980d39703..3b2fd0ff4d 100644 --- a/coding/file_reader.cpp +++ b/coding/file_reader.cpp @@ -15,6 +15,9 @@ using namespace std; namespace { +uint32_t const kDefaultLogPageSize = 10; +uint32_t const kDefaultLogPageCount = 4; + class FileDataWithCachedSize : public my::FileData { using base_t = my::FileData; @@ -32,11 +35,6 @@ private: }; } // namespace -// static -const uint32_t FileReader::kDefaultLogPageSize = 10; -// static -const uint32_t FileReader::kDefaultLogPageCount = 4; - class FileReader::FileReaderData { public: @@ -78,6 +76,11 @@ private: #endif }; +FileReader::FileReader(std::string const & fileName) + : FileReader(fileName, kDefaultLogPageSize, kDefaultLogPageCount) +{ +} + FileReader::FileReader(string const & fileName, uint32_t logPageSize, uint32_t logPageCount) : BaseType(fileName) , m_logPageSize(logPageSize) @@ -85,7 +88,8 @@ FileReader::FileReader(string const & fileName, uint32_t logPageSize, uint32_t l , m_fileData(new FileReaderData(fileName, logPageSize, logPageCount)) , m_offset(0) , m_size(m_fileData->Size()) -{} +{ +} FileReader::FileReader(FileReader const & reader, uint64_t offset, uint64_t size, uint32_t logPageSize, uint32_t logPageCount) @@ -95,7 +99,8 @@ FileReader::FileReader(FileReader const & reader, uint64_t offset, uint64_t size , m_fileData(reader.m_fileData) , m_offset(offset) , m_size(size) -{} +{ +} void FileReader::Read(uint64_t pos, void * p, size_t size) const { diff --git a/coding/file_reader.hpp b/coding/file_reader.hpp index 9e1cf4781c..0a7711b1d2 100644 --- a/coding/file_reader.hpp +++ b/coding/file_reader.hpp @@ -15,10 +15,8 @@ class FileReader : public ModelReader { public: - static const uint32_t kDefaultLogPageSize; - static const uint32_t kDefaultLogPageCount; - - explicit FileReader(std::string const & fileName, uint32_t logPageSize, uint32_t logPageCount); + explicit FileReader(std::string const & fileName); + FileReader(std::string const & fileName, uint32_t logPageSize, uint32_t logPageCount); class FileReaderData; diff --git a/coding/file_sort.hpp b/coding/file_sort.hpp index 237c692f9f..fd7b8a17e8 100644 --- a/coding/file_sort.hpp +++ b/coding/file_sort.hpp @@ -63,8 +63,7 @@ public: // Write output. { m_pTmpWriter.reset(); - FileReader reader(m_TmpFileName, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(m_TmpFileName); ItemIndexPairGreater fGreater(m_Less); PriorityQueueType q(fGreater); for (uint32_t i = 0; i < m_ItemCount; i += m_BufferCapacity) diff --git a/generator/cities_boundaries_builder.cpp b/generator/cities_boundaries_builder.cpp index bacca11519..5205d927c2 100644 --- a/generator/cities_boundaries_builder.cpp +++ b/generator/cities_boundaries_builder.cpp @@ -181,7 +181,7 @@ bool DeserializeBoundariesTable(std::string const & path, OsmIdToBoundariesTable try { - FileReader reader(path, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(path); NonOwningReaderSource source(reader); double precision; diff --git a/generator/dumper.cpp b/generator/dumper.cpp index 6ff62ca25f..f0e7676018 100644 --- a/generator/dumper.cpp +++ b/generator/dumper.cpp @@ -19,6 +19,8 @@ #include #include +#include "defines.hpp" + using namespace std; namespace @@ -195,8 +197,7 @@ namespace feature { using TValue = FeatureIndexValue; - FilesContainerR container(make_unique(fPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount)); + FilesContainerR container(make_unique(fPath)); feature::DataHeader header(container); serial::GeometryCodingParams codingParams( trie::GetGeometryCodingParams(header.GetDefGeometryCodingParams())); diff --git a/generator/feature_builder.hpp b/generator/feature_builder.hpp index 65c747870a..1f5d2213f1 100644 --- a/generator/feature_builder.hpp +++ b/generator/feature_builder.hpp @@ -284,7 +284,7 @@ namespace feature template void ForEachFromDatRawFormat(std::string const & fName, ToDo && toDo) { - FileReader reader(fName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fName); ReaderSource src(reader); uint64_t currPos = 0; diff --git a/generator/feature_sorter.cpp b/generator/feature_sorter.cpp index d2966b4d93..86f2422869 100644 --- a/generator/feature_sorter.cpp +++ b/generator/feature_sorter.cpp @@ -326,8 +326,7 @@ bool GenerateFinalFeatures(feature::GenerateInfo const & info, string const & na // store sorted features { - FileReader reader(srcFilePath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(srcFilePath); bool const isWorld = (mapType != DataHeader::country); diff --git a/generator/gen_mwm_info.hpp b/generator/gen_mwm_info.hpp index 36910a358c..0eae92cfd1 100644 --- a/generator/gen_mwm_info.hpp +++ b/generator/gen_mwm_info.hpp @@ -74,8 +74,7 @@ public: { try { - FileReader reader(filename, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(filename); NonOwningReaderSource src(reader); Read(src); } diff --git a/generator/intermediate_data.cpp b/generator/intermediate_data.cpp index 9199ef50cf..358f1b4aa2 100644 --- a/generator/intermediate_data.cpp +++ b/generator/intermediate_data.cpp @@ -56,10 +56,7 @@ namespace generator namespace cache { // IndexFileReader --------------------------------------------------------------------------------- -IndexFileReader::IndexFileReader(string const & name) - : m_fileReader(name.c_str(), FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) -{ -} +IndexFileReader::IndexFileReader(string const & name) : m_fileReader(name.c_str()) {} void IndexFileReader::ReadAll() { @@ -120,10 +117,7 @@ void IndexFileWriter::Add(Key k, Value const & v) // OSMElementCacheReader --------------------------------------------------------------------------- OSMElementCacheReader::OSMElementCacheReader(string const & name, bool preload) - : m_fileReader(name, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - , m_offsets(name + OFFSET_EXT) - , m_name(name) - , m_preload(preload) + : m_fileReader(name), m_offsets(name + OFFSET_EXT), m_name(name), m_preload(preload) { if (!m_preload) return; @@ -177,8 +171,7 @@ void RawFilePointStorageWriter::AddPoint(uint64_t id, double lat, double lon) // RawMemPointStorageReader ------------------------------------------------------------------------ RawMemPointStorageReader::RawMemPointStorageReader(string const & name) - : m_fileReader(name, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount) - , m_data(kMaxNodesInOSM) + : m_fileReader(name), m_data(kMaxNodesInOSM) { static_assert(sizeof(size_t) == 8, "This code is only for 64-bit architectures"); m_fileReader.Read(0, m_data.data(), m_data.size() * sizeof(LatLon)); @@ -217,8 +210,7 @@ void RawMemPointStorageWriter::AddPoint(uint64_t id, double lat, double lon) // MapFilePointStorageReader ----------------------------------------------------------------------- MapFilePointStorageReader::MapFilePointStorageReader(string const & name) - : m_fileReader(name + kShortExtension, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount) + : m_fileReader(name + kShortExtension) { LOG(LINFO, ("Nodes reading is started")); diff --git a/generator/locality_sorter.cpp b/generator/locality_sorter.cpp index 15fc0c7f71..7bc547e8b2 100644 --- a/generator/locality_sorter.cpp +++ b/generator/locality_sorter.cpp @@ -210,7 +210,7 @@ bool GenerateLocalityDataImpl(FeaturesCollector & collector, NeedSerialize const // Sort features by their middle point. midPoints.Sort(); - FileReader reader(file, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(file); for (auto const & point : midPoints.GetVector()) { ReaderSource src(reader); diff --git a/generator/metalines_builder.cpp b/generator/metalines_builder.cpp index 7585860cb9..41e7c3db43 100644 --- a/generator/metalines_builder.cpp +++ b/generator/metalines_builder.cpp @@ -194,8 +194,7 @@ bool WriteMetalinesSection(std::string const & mwmPath, std::string const & meta if (!routing::ParseOsmIdToFeatureIdMapping(osmIdsToFeatureIdsPath, osmIdToFeatureId)) return false; - FileReader reader(metalinesPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(metalinesPath); ReaderSource src(reader); std::vector buffer; MemWriter> memWriter(buffer); diff --git a/generator/mwm_diff/diff.cpp b/generator/mwm_diff/diff.cpp index f9c01e71a3..ca9ecc8bdc 100644 --- a/generator/mwm_diff/diff.cpp +++ b/generator/mwm_diff/diff.cpp @@ -86,10 +86,8 @@ bool MakeDiff(string const & oldMwmPath, string const & newMwmPath, string const { try { - FileReader oldReader(oldMwmPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); - FileReader newReader(newMwmPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader oldReader(oldMwmPath); + FileReader newReader(newMwmPath); FileWriter diffFileWriter(diffPath); switch (VERSION_LATEST) @@ -118,11 +116,9 @@ bool ApplyDiff(string const & oldMwmPath, string const & newMwmPath, string cons { try { - FileReader oldReader(oldMwmPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader oldReader(oldMwmPath); FileWriter newWriter(newMwmPath); - FileReader diffFileReader(diffPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader diffFileReader(diffPath); ReaderSource diffFileSource(diffFileReader); auto const version = ReadPrimitiveFromSource(diffFileSource); diff --git a/generator/routing_index_generator.cpp b/generator/routing_index_generator.cpp index cce62d8954..57d53a2cd6 100644 --- a/generator/routing_index_generator.cpp +++ b/generator/routing_index_generator.cpp @@ -110,7 +110,8 @@ public: void ProcessAllFeatures(string const & filename) { - feature::ForEachFromDat(filename, bind(&Processor::ProcessFeature, this, _1, _2)); + feature::ForEachFromDat(filename, bind(&Processor::ProcessFeature, this, std::placeholders::_1, + std::placeholders::_2)); } void BuildGraph(IndexGraph & graph) const diff --git a/generator/search_index_builder.cpp b/generator/search_index_builder.cpp index c298a38d03..7b04ace135 100644 --- a/generator/search_index_builder.cpp +++ b/generator/search_index_builder.cpp @@ -427,9 +427,7 @@ bool BuildSearchIndexFromDataFile(string const & filename, bool forceRebuild) { FilesContainerW writeContainer(readContainer.GetFileName(), FileWriter::OP_WRITE_EXISTING); FileWriter writer = writeContainer.GetWriter(SEARCH_INDEX_FILE_TAG); - rw_ops::Reverse(FileReader(indexFilePath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount), - writer); + rw_ops::Reverse(FileReader(indexFilePath), writer); } { diff --git a/generator/utils.hpp b/generator/utils.hpp index 86e13ecfed..1fb454bf2f 100644 --- a/generator/utils.hpp +++ b/generator/utils.hpp @@ -43,7 +43,7 @@ bool ForEachOsmId2FeatureId(std::string const & path, ToDo && toDo) gen::OsmID2FeatureID mapping; try { - FileReader reader(path, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(path); NonOwningReaderSource source(reader); mapping.Read(source); } diff --git a/generator/world_map_generator.hpp b/generator/world_map_generator.hpp index 18f8348f79..1ac1b4aca7 100644 --- a/generator/world_map_generator.hpp +++ b/generator/world_map_generator.hpp @@ -49,8 +49,7 @@ public: void LoadWaterGeometry(std::string const & rawGeometryFileName) { LOG_SHORT(LINFO, ("Loading water geometry:", rawGeometryFileName)); - FileReader reader(rawGeometryFileName, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(rawGeometryFileName); ReaderSource file(reader); size_t total = 0; diff --git a/indexer/feature_processor.hpp b/indexer/feature_processor.hpp index e06714d96a..794186e1db 100644 --- a/indexer/feature_processor.hpp +++ b/indexer/feature_processor.hpp @@ -1,30 +1,24 @@ #pragma once -#include "indexer/data_header.hpp" #include "indexer/features_vector.hpp" -#include "defines.hpp" - #include "coding/file_reader.hpp" #include "coding/file_container.hpp" -#include "std/bind.hpp" - +#include namespace feature { template void ForEachFromDat(ModelReaderPtr reader, ToDo && toDo) - { - FeaturesVectorTest features((FilesContainerR(reader))); - features.GetVector().ForEach(ref(toDo)); - } - - template - void ForEachFromDat(string const & fPath, ToDo && toDo) - { - ForEachFromDat(make_unique(fPath, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount), - toDo); - } +{ + FeaturesVectorTest features((FilesContainerR(reader))); + features.GetVector().ForEach(std::forward(toDo)); } + +template +void ForEachFromDat(string const & fPath, ToDo && toDo) +{ + ForEachFromDat(make_unique(fPath), std::forward(toDo)); +} +} // namespace feature diff --git a/indexer/locality_index_builder.hpp b/indexer/locality_index_builder.hpp index 3cf1a326bd..c8e931e067 100644 --- a/indexer/locality_index_builder.hpp +++ b/indexer/locality_index_builder.hpp @@ -47,8 +47,7 @@ void BuildLocalityIndex(ObjectsVector const & objects, Writer & writer, sorter.SortAndFinish(); } - FileReader reader(cellsToValueFile, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(cellsToValueFile); DDVector, FileReader, uint64_t> cellsToValue(reader); { diff --git a/indexer/scale_index_builder.hpp b/indexer/scale_index_builder.hpp index 868991ec89..5629dd25a9 100644 --- a/indexer/scale_index_builder.hpp +++ b/indexer/scale_index_builder.hpp @@ -161,8 +161,7 @@ void IndexScales(feature::DataHeader const & header, TFeaturesVector const & fea } } - FileReader reader(cellsToFeatureAllBucketsFile, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(cellsToFeatureAllBucketsFile); DDVector cellsToFeaturesAllBuckets(reader); VarSerialVectorWriter recordWriter(writer, bucketsCount); @@ -183,8 +182,7 @@ void IndexScales(feature::DataHeader const & header, TFeaturesVector const & fea } { - FileReader reader(cellsToFeatureFile, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(cellsToFeatureFile); DDVector cellsToFeatures( reader); SubWriter subWriter(writer); diff --git a/kml/kml_tests/serdes_tests.cpp b/kml/kml_tests/serdes_tests.cpp index eee987d25a..90b6f5f6a9 100644 --- a/kml/kml_tests/serdes_tests.cpp +++ b/kml/kml_tests/serdes_tests.cpp @@ -518,7 +518,7 @@ UNIT_TEST(Kml_Deserialization_Text_File) try { kml::DeserializerKml des(dataFromFile); - FileReader reader(kmlFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(kmlFile); des.Deserialize(reader); } catch (FileReader::Exception const & exc) @@ -555,7 +555,7 @@ UNIT_TEST(Kml_Deserialization_Bin_File) try { kml::binary::DeserializerKml des(dataFromFile); - FileReader reader(kmbFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(kmbFile); des.Deserialize(reader); } catch (FileReader::Exception const & exc) @@ -596,7 +596,7 @@ UNIT_TEST(Kml_Serialization_Bin_File) try { kml::binary::DeserializerKml des(dataFromFile); - FileReader reader(kmbFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(kmbFile); des.Deserialize(reader); } catch (FileReader::Exception const & exc) @@ -647,7 +647,7 @@ UNIT_TEST(Kml_Serialization_Text_File) try { kml::DeserializerKml des(dataFromFile); - FileReader reader(kmlFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(kmlFile); des.Deserialize(reader); } catch (FileReader::Exception const & exc) diff --git a/local_ads/local_ads_tests/file_helpers_tests.cpp b/local_ads/local_ads_tests/file_helpers_tests.cpp index 9ffa141e28..408b677abf 100644 --- a/local_ads/local_ads_tests/file_helpers_tests.cpp +++ b/local_ads/local_ads_tests/file_helpers_tests.cpp @@ -22,8 +22,7 @@ UNIT_TEST(LocalAdsHelpers_Read_Write_Country_Name) string result; { - FileReader reader(testFile.GetFullPath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(testFile.GetFullPath()); ReaderSource src(reader); result = ReadCountryName(src); } @@ -45,8 +44,7 @@ UNIT_TEST(LocalAdsHelpers_Read_Write_Timestamp) local_ads::Timestamp resultInHours; local_ads::Timestamp resultInSeconds; { - FileReader reader(testFile.GetFullPath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(testFile.GetFullPath()); ReaderSource src(reader); resultInHours = ReadTimestamp(src); resultInSeconds = ReadTimestamp(src); @@ -68,8 +66,7 @@ UNIT_TEST(LocalAdsHelpers_Read_Write_RawData) vector result; { - FileReader reader(testFile.GetFullPath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(testFile.GetFullPath()); ReaderSource src(reader); result = ReadRawData(src); } diff --git a/local_ads/statistics.cpp b/local_ads/statistics.cpp index b582042d7a..d99a367c76 100644 --- a/local_ads/statistics.cpp +++ b/local_ads/statistics.cpp @@ -157,7 +157,7 @@ std::list ReadEvents(std::string const & fileName) try { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(fileName); ReaderSource src(reader); ReadPackedData(src, [&result](local_ads::Statistics::PackedData && data, std::string const & countryId, int64_t mwmVersion, @@ -464,8 +464,7 @@ void Statistics::ExtractMetadata(std::string const & fileName) int64_t mwmVersion; Timestamp baseTimestamp; { - FileReader reader(fileName, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(fileName); ReaderSource src(reader); ReadMetadata(src, countryId, mwmVersion, baseTimestamp); } @@ -493,8 +492,7 @@ void Statistics::BalanceMemory() uint64_t totalSize = 0; for (auto const & metadata : m_metadataCache) { - FileReader reader(metadata.second.m_fileName, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(metadata.second.m_fileName); sizeInBytes[metadata.first] = reader.Size(); totalSize += reader.Size(); } diff --git a/map/bookmark_helpers.cpp b/map/bookmark_helpers.cpp index 19fd599b91..051f5c6ba6 100644 --- a/map/bookmark_helpers.cpp +++ b/map/bookmark_helpers.cpp @@ -257,9 +257,7 @@ std::unique_ptr LoadKmlFile(std::string const & file, KmlFileType std::unique_ptr kmlData; try { - kmlData = LoadKmlData( - FileReader(file, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount), - fileType); + kmlData = LoadKmlData(FileReader(file), fileType); } catch (std::exception const & e) { diff --git a/map/cloud.cpp b/map/cloud.cpp index aaebb88659..6614784d42 100644 --- a/map/cloud.cpp +++ b/map/cloud.cpp @@ -304,7 +304,7 @@ Cloud::SnapshotResponseData ReadSnapshotFile(std::string const & filename) std::string jsonStr; try { - FileReader r(filename, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(filename); r.ReadAsString(jsonStr); } catch (FileReader::Exception const & exception) @@ -458,7 +458,7 @@ bool Cloud::ReadIndex() std::string jsonStr; try { - FileReader r(indexFilePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(indexFilePath); r.ReadAsString(jsonStr); } catch (FileReader::Exception const & exception) diff --git a/map/local_ads_manager.cpp b/map/local_ads_manager.cpp index 5d4385b8bd..2813588534 100644 --- a/map/local_ads_manager.cpp +++ b/map/local_ads_manager.cpp @@ -518,8 +518,7 @@ void LocalAdsManager::ReadCampaignFile(std::string const & campaignFile) std::lock_guard lock(m_campaignsMutex); try { - FileReader reader(campaignFile, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(campaignFile); ReaderSource src(reader); while (src.Size() > 0) { diff --git a/map/map_tests/bookmarks_test.cpp b/map/map_tests/bookmarks_test.cpp index da609d0bc8..2cfeba2f1a 100644 --- a/map/map_tests/bookmarks_test.cpp +++ b/map/map_tests/bookmarks_test.cpp @@ -241,10 +241,7 @@ UNIT_CLASS_TEST(Runner, Bookmarks_ExportKML) TEST_EQUAL(bmManager.GetBmGroupsIdList().size(), 0, ()); BookmarkManager::KMLDataCollection kmlDataCollection2; - kmlDataCollection2.emplace_back("", - LoadKmlData(FileReader(fileName, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount), - GetActiveKmlFileType())); + kmlDataCollection2.emplace_back("", LoadKmlData(FileReader(fileName), GetActiveKmlFileType())); TEST(kmlDataCollection2.back().second, ()); bmManager.CreateCategories(std::move(kmlDataCollection2), false /* autoSave */); diff --git a/platform/chunks_download_strategy.cpp b/platform/chunks_download_strategy.cpp index 0f3cc70d8f..1d24b45c02 100644 --- a/platform/chunks_download_strategy.cpp +++ b/platform/chunks_download_strategy.cpp @@ -91,7 +91,7 @@ int64_t ChunksDownloadStrategy::LoadOrInitChunks(string const & fName, int64_t f try { - FileReader r(fName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(fName); ReaderSource src(r); int64_t const readSize = ReadVarInt(src); diff --git a/platform/string_storage_base.cpp b/platform/string_storage_base.cpp index 7ed038f8b1..e6075f5104 100644 --- a/platform/string_storage_base.cpp +++ b/platform/string_storage_base.cpp @@ -24,8 +24,7 @@ StringStorageBase::StringStorageBase(string const & path) : m_path(path) try { LOG(LINFO, ("Settings path:", m_path)); - ReaderStreamBuf buffer(make_unique(m_path, FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount)); + ReaderStreamBuf buffer(make_unique(m_path)); istream stream(&buffer); string line; diff --git a/routing/geometry.cpp b/routing/geometry.cpp index f0306a61e1..0cb7d20809 100644 --- a/routing/geometry.cpp +++ b/routing/geometry.cpp @@ -82,8 +82,7 @@ private: FileGeometryLoader::FileGeometryLoader(string const & fileName, shared_ptr vehicleModel) - : m_featuresVector(FilesContainerR(make_unique( - fileName, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount))) + : m_featuresVector(FilesContainerR(make_unique(fileName))) , m_vehicleModel(vehicleModel) { CHECK(m_vehicleModel, ()); diff --git a/track_analyzing/track_analyzer/cmd_table.cpp b/track_analyzing/track_analyzer/cmd_table.cpp index a69d4a9429..5c1f48ebc5 100644 --- a/track_analyzing/track_analyzer/cmd_table.cpp +++ b/track_analyzing/track_analyzer/cmd_table.cpp @@ -169,8 +169,7 @@ class MatchedTrackPointToMoveType final { public: MatchedTrackPointToMoveType(string const & mwmFile) - : m_featuresVector(FilesContainerR(make_unique( - mwmFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount))) + : m_featuresVector(FilesContainerR(make_unique(mwmFile))) { } diff --git a/track_analyzing/track_analyzer/cmd_track.cpp b/track_analyzing/track_analyzer/cmd_track.cpp index e1e5611388..0c0bc5aa25 100644 --- a/track_analyzing/track_analyzer/cmd_track.cpp +++ b/track_analyzing/track_analyzer/cmd_track.cpp @@ -36,8 +36,7 @@ void CmdTrack(string const & trackFile, string const & mwmName, string const & u string const mwmFile = GetCurrentVersionMwmFile(storage, mwmName); shared_ptr vehicleModel = CarModelFactory({}).GetVehicleModelForCountry(mwmName); - FeaturesVectorTest featuresVector(FilesContainerR(make_unique( - mwmFile, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount))); + FeaturesVectorTest featuresVector(FilesContainerR(make_unique(mwmFile))); Geometry geometry(GeometryLoader::CreateFromFile(mwmFile, vehicleModel)); uint64_t const duration = diff --git a/track_analyzing/utils.cpp b/track_analyzing/utils.cpp index 1ecdf43e51..1860f7064b 100644 --- a/track_analyzing/utils.cpp +++ b/track_analyzing/utils.cpp @@ -52,7 +52,7 @@ double CalcSpeedKMpH(double meters, uint64_t secondsElapsed) void ReadTracks(shared_ptr numMwmIds, string const & filename, MwmToMatchedTracks & mwmToMatchedTracks) { - FileReader reader(filename, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader reader(filename); ReaderSource src(reader); MwmToMatchedTracksSerializer serializer(numMwmIds); serializer.Deserialize(mwmToMatchedTracks, src); diff --git a/ugc/storage.cpp b/ugc/storage.cpp index abed9cd9ac..dfd7e76add 100644 --- a/ugc/storage.cpp +++ b/ugc/storage.cpp @@ -40,8 +40,7 @@ bool GetUGCFileSize(uint64_t & size) { try { - FileReader reader(GetUGCFilePath(), FileReader::kDefaultLogPageSize, - FileReader::kDefaultLogPageCount); + FileReader reader(GetUGCFilePath()); size = reader.Size(); } catch (RootException const &) @@ -166,7 +165,7 @@ UGCUpdate Storage::GetUGCUpdate(FeatureID const & id) const auto const ugcFilePath = GetUGCFilePath(); try { - FileReader r(ugcFilePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(ugcFilePath); r.Read(offset, buf.data(), size); } catch (FileReader::Exception const & exception) @@ -195,7 +194,7 @@ void Storage::Load() auto const indexFilePath = GetIndexFilePath(); try { - FileReader r(indexFilePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(indexFilePath); r.ReadAsString(data); } catch (FileReader::Exception const & exception) @@ -241,7 +240,7 @@ void Storage::Defragmentation() try { - FileReader r(ugcFilePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(ugcFilePath); FileWriter w(tmpUGCFilePath, FileWriter::Op::OP_APPEND); uint64_t actualOffset = 0; for (size_t i = 0; i < indexesSize; ++i) @@ -288,7 +287,7 @@ string Storage::GetUGCToSend() const auto array = my::NewJSONArray(); auto const indexesSize = m_UGCIndexes.size(); auto const ugcFilePath = GetUGCFilePath(); - FileReader r(ugcFilePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(ugcFilePath); vector buf; for (size_t i = 0; i < indexesSize; ++i) { @@ -425,7 +424,7 @@ size_t GetNumberOfUnsentUGC() string data; try { - FileReader r(indexFilePath, FileReader::kDefaultLogPageSize, FileReader::kDefaultLogPageCount); + FileReader r(indexFilePath); r.ReadAsString(data); } catch (FileReader::Exception const & exception)