Fix the propfile properties reading/writing

This commit is contained in:
Patrick Niklaus
2017-06-16 09:30:37 +00:00
committed by Patrick Niklaus
parent 383640caaf
commit 4f13208ce8
5 changed files with 34 additions and 15 deletions
-2
View File
@@ -70,8 +70,6 @@ class Extractor
util::DeallocatingVector<EdgeBasedEdge> &edge_based_edge_list,
const std::string &intersection_class_output_file,
std::vector<TurnRestriction> &turn_restrictions);
void WriteProfileProperties(const std::string &output_path,
const ProfileProperties &properties) const;
void FindComponents(unsigned max_edge_id,
const util::DeallocatingVector<EdgeBasedEdge> &input_edge_list,
const std::vector<EdgeBasedNodeSegment> &input_node_segments,
+20
View File
@@ -6,6 +6,7 @@
#include "extractor/node_data_container.hpp"
#include "extractor/serialization.hpp"
#include "extractor/turn_data_container.hpp"
#include "extractor/profile_properties.hpp"
#include "util/coordinate.hpp"
#include "util/packed_vector.hpp"
@@ -20,6 +21,25 @@ namespace extractor
namespace files
{
// reads .osrm.properties
inline void readProfileProperties(const boost::filesystem::path &path, ProfileProperties &properties)
{
const auto fingerprint = storage::io::FileReader::VerifyFingerprint;
storage::io::FileReader reader{path, fingerprint};
serialization::read(reader, properties);
}
// writes .osrm.properties
inline void writeProfileProperties(const boost::filesystem::path &path,
const ProfileProperties &properties)
{
const auto fingerprint = storage::io::FileWriter::GenerateFingerprint;
storage::io::FileWriter writer{path, fingerprint};
serialization::write(writer, properties);
}
template <typename EdgeBasedEdgeVector>
void writeEdgeBasedGraph(const boost::filesystem::path &path,
EdgeID const max_edge_id,
+12
View File
@@ -7,6 +7,7 @@
#include "extractor/restriction.hpp"
#include "extractor/segment_data_container.hpp"
#include "extractor/turn_data_container.hpp"
#include "extractor/profile_properties.hpp"
#include "storage/io.hpp"
#include "storage/serialization.hpp"
@@ -20,6 +21,17 @@ namespace extractor
namespace serialization
{
// read/write for properties file
inline void read(storage::io::FileReader &reader, ProfileProperties &properties)
{
reader.ReadInto(properties);
}
inline void write(storage::io::FileWriter &writer, const ProfileProperties &properties)
{
writer.WriteFrom(properties);
}
// read/write for datasources file
inline void read(storage::io::FileReader &reader, Datasources &sources)
{