diff options
author | vng <viktor.govako@gmail.com> | 2011-01-02 23:25:06 +0300 |
---|---|---|
committer | Alex Zolotarev <alex@maps.me> | 2015-09-23 01:09:04 +0300 |
commit | d9133a2d9fd2445033d1e16b5e9c625ebd80b494 (patch) | |
tree | d99ea74eb439a89197b5a6399a1ac06143459d3a /indexer/index_builder.cpp | |
parent | b33ae08c7968744e969f9e75dcd0e8bd7a58f400 (diff) |
Add files container everywere for dat, geom, trg, idx.
Diffstat (limited to 'indexer/index_builder.cpp')
-rw-r--r-- | indexer/index_builder.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/indexer/index_builder.cpp b/indexer/index_builder.cpp index bddebd6d67..35579c1418 100644 --- a/indexer/index_builder.cpp +++ b/indexer/index_builder.cpp @@ -2,25 +2,24 @@ #include "data_header_reader.hpp" #include "features_vector.hpp" -#include "../coding/file_reader.hpp" +#include "../storage/defines.hpp" + +#include "../coding/file_container.hpp" namespace indexer { - bool BuildIndexFromDatFile(string const & fullIndexFilePath, string const & fullDatFilePath, - string const & tmpFilePath) + bool BuildIndexFromDatFile(string const & datFile, string const & tmpFile) { try { - FileReader dataReader(fullDatFilePath); - - uint64_t startOffset = feature::GetSkipHeaderSize(dataReader); - - FileReader subReader = dataReader.SubReader(startOffset, dataReader.Size() - startOffset); - FeaturesVector<FileReader> featuresVector(subReader); + FilesContainerR readCont(datFile); + FeaturesVector<FileReader> featuresVector(readCont); - FileWriter indexWriter(fullIndexFilePath.c_str()); - BuildIndex(featuresVector, indexWriter, tmpFilePath); + FilesContainerW writeCont(datFile, FileWriter::OP_APPEND); + FileWriter writer = writeCont.GetWriter(INDEX_FILE_TAG); + BuildIndex(featuresVector, writer, tmpFile); + writeCont.Finish(); } catch (Reader::OpenException const & e) { |