Port over profile properties

This commit is contained in:
Patrick Niklaus
2018-03-16 16:50:30 +00:00
parent 5d1b4ce71d
commit c61198b26b
4 changed files with 28 additions and 25 deletions
+6 -6
View File
@@ -59,20 +59,20 @@ inline void readIntersections(const boost::filesystem::path &path,
inline void readProfileProperties(const boost::filesystem::path &path,
ProfileProperties &properties)
{
const auto fingerprint = storage::io::FileReader::VerifyFingerprint;
storage::io::FileReader reader{path, fingerprint};
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint};
serialization::read(reader, properties);
serialization::read(reader, "/common/properties", 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};
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint};
serialization::write(writer, properties);
serialization::write(writer, "/common/properties", properties);
}
template <typename EdgeBasedEdgeVector>
+18 -10
View File
@@ -26,33 +26,41 @@ namespace serialization
// read/write for bearing data
template <storage::Ownership Ownership>
inline void read(storage::tar::FileReader &reader,
const std::string& name,
const std::string &name,
detail::IntersectionBearingsContainer<Ownership> &intersection_bearings)
{
storage::serialization::read(reader, name + "/bearing_values", intersection_bearings.values);
storage::serialization::read(reader, name + "/node_to_class_id", intersection_bearings.node_to_class_id);
util::serialization::read(reader, name + "/class_id_to_ranges", intersection_bearings.class_id_to_ranges_table);
storage::serialization::read(
reader, name + "/node_to_class_id", intersection_bearings.node_to_class_id);
util::serialization::read(
reader, name + "/class_id_to_ranges", intersection_bearings.class_id_to_ranges_table);
}
template <storage::Ownership Ownership>
inline void write(storage::tar::FileWriter &writer,
const std::string& name,
const std::string &name,
const detail::IntersectionBearingsContainer<Ownership> &intersection_bearings)
{
storage::serialization::write(writer, name + "/bearing_values", intersection_bearings.values);
storage::serialization::write(writer, name + "/node_to_class_id", intersection_bearings.node_to_class_id);
util::serialization::write(writer, name + "/class_id_to_ranges", intersection_bearings.class_id_to_ranges_table);
storage::serialization::write(
writer, name + "/node_to_class_id", intersection_bearings.node_to_class_id);
util::serialization::write(
writer, name + "/class_id_to_ranges", intersection_bearings.class_id_to_ranges_table);
}
// read/write for properties file
inline void read(storage::io::FileReader &reader, ProfileProperties &properties)
inline void
read(storage::tar::FileReader &reader, const std::string &name, ProfileProperties &properties)
{
reader.ReadInto(properties);
properties = reader.ReadOne<ProfileProperties>(name);
}
inline void write(storage::io::FileWriter &writer, const ProfileProperties &properties)
inline void write(storage::tar::FileWriter &writer,
const std::string &name,
const ProfileProperties &properties)
{
writer.WriteFrom(properties);
writer.WriteElementCount64(name, 1);
writer.WriteOne(name, properties);
}
// read/write for datasources file