Replace boost::filesystem with std (#6432)

This commit is contained in:
Dennis Luxen 2024-06-20 21:44:28 +02:00 committed by GitHub
parent c3f2a6cdb9
commit f1eabc3ecc
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
64 changed files with 417 additions and 311 deletions

View File

@ -152,7 +152,6 @@ jobs:
>&2 echo "No berlin-latest.geojson found" >&2 echo "No berlin-latest.geojson found"
exit 1 exit 1
fi fi
# removing `.osrm.nbg` to check that whole pipeline works without it # removing `.osrm.nbg` to check that whole pipeline works without it
rm -rf "${PWD}/berlin-latest.osrm.nbg" rm -rf "${PWD}/berlin-latest.osrm.nbg"
@ -740,3 +739,4 @@ jobs:
needs: [build-test-publish, docker-image-matrix, windows-release-node, benchmarks] needs: [build-test-publish, docker-image-matrix, windows-release-node, benchmarks]
steps: steps:
- run: echo "CI complete" - run: echo "CI complete"

View File

@ -44,6 +44,7 @@
- CHANGED: Avoid copy of std::function-based callback in path unpacking [#6895](https://github.com/Project-OSRM/osrm-backend/pull/6895) - CHANGED: Avoid copy of std::function-based callback in path unpacking [#6895](https://github.com/Project-OSRM/osrm-backend/pull/6895)
- CHANGED: Replace boost::hash by std::hash [#6892](https://github.com/Project-OSRM/osrm-backend/pull/6892) - CHANGED: Replace boost::hash by std::hash [#6892](https://github.com/Project-OSRM/osrm-backend/pull/6892)
- CHANGED: Partial fix migration from boost::optional to std::optional [#6551](https://github.com/Project-OSRM/osrm-backend/issues/6551) - CHANGED: Partial fix migration from boost::optional to std::optional [#6551](https://github.com/Project-OSRM/osrm-backend/issues/6551)
- CHANGED: Replace boost::filesystem with std::filesystem [#6432](https://github.com/Project-OSRM/osrm-backend/pull/6432)
- CHANGED: Update Conan Boost version to 1.85.0. [#6868](https://github.com/Project-OSRM/osrm-backend/pull/6868) - CHANGED: Update Conan Boost version to 1.85.0. [#6868](https://github.com/Project-OSRM/osrm-backend/pull/6868)
- FIXED: Fix an error in a RouteParameters AnnotationsType operator overload. [#6646](https://github.com/Project-OSRM/osrm-backend/pull/6646) - FIXED: Fix an error in a RouteParameters AnnotationsType operator overload. [#6646](https://github.com/Project-OSRM/osrm-backend/pull/6646)
- ADDED: Add support for "unlimited" to be passed as a value for the default-radius and max-matching-radius flags. [#6599](https://github.com/Project-OSRM/osrm-backend/pull/6599) - ADDED: Add support for "unlimited" to be passed as a value for the default-radius and max-matching-radius flags. [#6599](https://github.com/Project-OSRM/osrm-backend/pull/6599)

View File

@ -42,7 +42,7 @@ module.exports = function () {
this.OSRM_PORT = process.env.OSRM_PORT && parseInt(process.env.OSRM_PORT) || 5000; this.OSRM_PORT = process.env.OSRM_PORT && parseInt(process.env.OSRM_PORT) || 5000;
this.OSRM_IP = process.env.OSRM_IP || '127.0.0.1'; this.OSRM_IP = process.env.OSRM_IP || '127.0.0.1';
this.OSRM_CONNECTION_RETRIES = process.env.OSRM_CONNECTION_RETRIES && parseInt(process.env.OSRM_CONNECTION_RETRIES) || 10; this.OSRM_CONNECTION_RETRIES = process.env.OSRM_CONNECTION_RETRIES && parseInt(process.env.OSRM_CONNECTION_RETRIES) || 10;
this.OSRM_CONNECTION_EXP_BACKOFF_COEF = process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF && parseFloat(process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF) || 1.0; this.OSRM_CONNECTION_EXP_BACKOFF_COEF = process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF && parseFloat(process.env.OSRM_CONNECTION_EXP_BACKOFF_COEF) || 1.1;
this.HOST = `http://${this.OSRM_IP}:${this.OSRM_PORT}`; this.HOST = `http://${this.OSRM_IP}:${this.OSRM_PORT}`;

View File

@ -31,8 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "storage/io_config.hpp" #include "storage/io_config.hpp"
#include "updater/updater_config.hpp" #include "updater/updater_config.hpp"
#include <boost/filesystem/path.hpp> #include <filesystem>
#include <string> #include <string>
namespace osrm::contractor namespace osrm::contractor
@ -47,7 +46,7 @@ struct ContractorConfig final : storage::IOConfig
} }
// Infer the output names from the path of the .osrm file // Infer the output names from the path of the .osrm file
void UseDefaultOutputNames(const boost::filesystem::path &base) void UseDefaultOutputNames(const std::filesystem::path &base)
{ {
IOConfig::UseDefaultOutputNames(base); IOConfig::UseDefaultOutputNames(base);
updater_config.UseDefaultOutputNames(base); updater_config.UseDefaultOutputNames(base);

View File

@ -9,7 +9,7 @@ namespace osrm::contractor::files
{ {
// reads .osrm.hsgr file // reads .osrm.hsgr file
template <typename ContractedMetricT> template <typename ContractedMetricT>
inline void readGraph(const boost::filesystem::path &path, inline void readGraph(const std::filesystem::path &path,
std::unordered_map<std::string, ContractedMetricT> &metrics, std::unordered_map<std::string, ContractedMetricT> &metrics,
std::uint32_t &connectivity_checksum) std::uint32_t &connectivity_checksum)
{ {
@ -30,7 +30,7 @@ inline void readGraph(const boost::filesystem::path &path,
// writes .osrm.hsgr file // writes .osrm.hsgr file
template <typename ContractedMetricT> template <typename ContractedMetricT>
inline void writeGraph(const boost::filesystem::path &path, inline void writeGraph(const std::filesystem::path &path,
const std::unordered_map<std::string, ContractedMetricT> &metrics, const std::unordered_map<std::string, ContractedMetricT> &metrics,
const std::uint32_t connectivity_checksum) const std::uint32_t connectivity_checksum)
{ {

View File

@ -1,9 +1,8 @@
#ifndef OSRM_CUSTOMIZE_CUSTOMIZER_CONFIG_HPP #ifndef OSRM_CUSTOMIZE_CUSTOMIZER_CONFIG_HPP
#define OSRM_CUSTOMIZE_CUSTOMIZER_CONFIG_HPP #define OSRM_CUSTOMIZE_CUSTOMIZER_CONFIG_HPP
#include <boost/filesystem/path.hpp>
#include <array> #include <array>
#include <filesystem>
#include <string> #include <string>
#include "storage/io_config.hpp" #include "storage/io_config.hpp"
@ -27,7 +26,7 @@ struct CustomizationConfig final : storage::IOConfig
{ {
} }
void UseDefaultOutputNames(const boost::filesystem::path &base) void UseDefaultOutputNames(const std::filesystem::path &base)
{ {
IOConfig::UseDefaultOutputNames(base); IOConfig::UseDefaultOutputNames(base);
updater_config.UseDefaultOutputNames(base); updater_config.UseDefaultOutputNames(base);

View File

@ -9,7 +9,7 @@
#include "storage/shared_memory_ownership.hpp" #include "storage/shared_memory_ownership.hpp"
#include <boost/filesystem/path.hpp> #include <filesystem>
namespace osrm::customizer namespace osrm::customizer
{ {

View File

@ -14,7 +14,7 @@ namespace osrm::customizer::files
// reads .osrm.cell_metrics file // reads .osrm.cell_metrics file
template <typename CellMetricT> template <typename CellMetricT>
inline void readCellMetrics(const boost::filesystem::path &path, inline void readCellMetrics(const std::filesystem::path &path,
std::unordered_map<std::string, std::vector<CellMetricT>> &metrics) std::unordered_map<std::string, std::vector<CellMetricT>> &metrics)
{ {
static_assert(std::is_same<CellMetricView, CellMetricT>::value || static_assert(std::is_same<CellMetricView, CellMetricT>::value ||
@ -44,7 +44,7 @@ inline void readCellMetrics(const boost::filesystem::path &path,
// writes .osrm.cell_metrics file // writes .osrm.cell_metrics file
template <typename CellMetricT> template <typename CellMetricT>
inline void inline void
writeCellMetrics(const boost::filesystem::path &path, writeCellMetrics(const std::filesystem::path &path,
const std::unordered_map<std::string, std::vector<CellMetricT>> &metrics) const std::unordered_map<std::string, std::vector<CellMetricT>> &metrics)
{ {
static_assert(std::is_same<CellMetricView, CellMetricT>::value || static_assert(std::is_same<CellMetricView, CellMetricT>::value ||
@ -72,7 +72,7 @@ writeCellMetrics(const boost::filesystem::path &path,
// reads .osrm.mldgr file // reads .osrm.mldgr file
template <typename MultiLevelGraphT> template <typename MultiLevelGraphT>
inline void readGraph(const boost::filesystem::path &path, inline void readGraph(const std::filesystem::path &path,
MultiLevelGraphT &graph, MultiLevelGraphT &graph,
std::uint32_t &connectivity_checksum) std::uint32_t &connectivity_checksum)
{ {
@ -88,7 +88,7 @@ inline void readGraph(const boost::filesystem::path &path,
// writes .osrm.mldgr file // writes .osrm.mldgr file
template <typename MultiLevelGraphT> template <typename MultiLevelGraphT>
inline void writeGraph(const boost::filesystem::path &path, inline void writeGraph(const std::filesystem::path &path,
const MultiLevelGraphT &graph, const MultiLevelGraphT &graph,
const std::uint32_t connectivity_checksum) const std::uint32_t connectivity_checksum)
{ {

View File

@ -177,7 +177,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade
SharedRTree m_static_rtree; SharedRTree m_static_rtree;
std::unique_ptr<SharedGeospatialQuery> m_geospatial_query; std::unique_ptr<SharedGeospatialQuery> m_geospatial_query;
boost::filesystem::path file_index_path; std::filesystem::path file_index_path;
std::optional<extractor::IntersectionBearingsView> intersection_bearings_view; std::optional<extractor::IntersectionBearingsView> intersection_bearings_view;

View File

@ -31,8 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "storage/storage_config.hpp" #include "storage/storage_config.hpp"
#include "osrm/datasets.hpp" #include "osrm/datasets.hpp"
#include <boost/filesystem/path.hpp> #include <filesystem>
#include <set> #include <set>
#include <string> #include <string>
@ -83,7 +82,7 @@ struct EngineConfig final
boost::optional<double> default_radius = -1.0; boost::optional<double> default_radius = -1.0;
int max_alternatives = 3; // set an arbitrary upper bound; can be adjusted by user int max_alternatives = 3; // set an arbitrary upper bound; can be adjusted by user
bool use_shared_memory = true; bool use_shared_memory = true;
boost::filesystem::path memory_file; std::filesystem::path memory_file;
bool use_mmap = true; bool use_mmap = true;
Algorithm algorithm = Algorithm::CH; Algorithm algorithm = Algorithm::CH;
std::vector<storage::FeatureDataset> disable_feature_dataset; std::vector<storage::FeatureDataset> disable_feature_dataset;

View File

@ -28,13 +28,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef EXTRACTOR_CONFIG_HPP #ifndef EXTRACTOR_CONFIG_HPP
#define EXTRACTOR_CONFIG_HPP #define EXTRACTOR_CONFIG_HPP
#include <boost/filesystem/path.hpp> #include "storage/io_config.hpp"
#include <array> #include <array>
#include <filesystem>
#include <string> #include <string>
#include "storage/io_config.hpp"
namespace osrm::extractor namespace osrm::extractor
{ {
@ -71,14 +70,14 @@ struct ExtractorConfig final : storage::IOConfig
{ {
} }
void UseDefaultOutputNames(const boost::filesystem::path &base) void UseDefaultOutputNames(const std::filesystem::path &base)
{ {
IOConfig::UseDefaultOutputNames(base); IOConfig::UseDefaultOutputNames(base);
} }
boost::filesystem::path input_path; std::filesystem::path input_path;
boost::filesystem::path profile_path; std::filesystem::path profile_path;
std::vector<boost::filesystem::path> location_dependent_data_paths; std::vector<std::filesystem::path> location_dependent_data_paths;
std::string data_version; std::string data_version;
unsigned requested_num_threads = 0; unsigned requested_num_threads = 0;

View File

@ -23,9 +23,9 @@ namespace osrm::extractor::files
// writes the .osrm.icd file // writes the .osrm.icd file
template <typename IntersectionBearingsT, typename EntryClassVectorT> template <typename IntersectionBearingsT, typename EntryClassVectorT>
inline void writeIntersections(const boost::filesystem::path &path, void writeIntersections(const std::filesystem::path &path,
const IntersectionBearingsT &intersection_bearings, const IntersectionBearingsT &intersection_bearings,
const EntryClassVectorT &entry_classes) const EntryClassVectorT &entry_classes)
{ {
static_assert(std::is_same<IntersectionBearingsContainer, IntersectionBearingsT>::value || static_assert(std::is_same<IntersectionBearingsContainer, IntersectionBearingsT>::value ||
std::is_same<IntersectionBearingsView, IntersectionBearingsT>::value, std::is_same<IntersectionBearingsView, IntersectionBearingsT>::value,
@ -39,9 +39,9 @@ inline void writeIntersections(const boost::filesystem::path &path,
// read the .osrm.icd file // read the .osrm.icd file
template <typename IntersectionBearingsT, typename EntryClassVectorT> template <typename IntersectionBearingsT, typename EntryClassVectorT>
inline void readIntersections(const boost::filesystem::path &path, void readIntersections(const std::filesystem::path &path,
IntersectionBearingsT &intersection_bearings, IntersectionBearingsT &intersection_bearings,
EntryClassVectorT &entry_classes) EntryClassVectorT &entry_classes)
{ {
static_assert(std::is_same<IntersectionBearingsContainer, IntersectionBearingsT>::value || static_assert(std::is_same<IntersectionBearingsContainer, IntersectionBearingsT>::value ||
std::is_same<IntersectionBearingsView, IntersectionBearingsT>::value, std::is_same<IntersectionBearingsView, IntersectionBearingsT>::value,
@ -54,8 +54,7 @@ inline void readIntersections(const boost::filesystem::path &path,
} }
// reads .osrm.properties // reads .osrm.properties
inline void readProfileProperties(const boost::filesystem::path &path, inline void readProfileProperties(const std::filesystem::path &path, ProfileProperties &properties)
ProfileProperties &properties)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -64,7 +63,7 @@ inline void readProfileProperties(const boost::filesystem::path &path,
} }
// writes .osrm.properties // writes .osrm.properties
inline void writeProfileProperties(const boost::filesystem::path &path, inline void writeProfileProperties(const std::filesystem::path &path,
const ProfileProperties &properties) const ProfileProperties &properties)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
@ -74,7 +73,7 @@ inline void writeProfileProperties(const boost::filesystem::path &path,
} }
template <typename EdgeBasedEdgeVector> template <typename EdgeBasedEdgeVector>
void writeEdgeBasedGraph(const boost::filesystem::path &path, void writeEdgeBasedGraph(const std::filesystem::path &path,
EdgeID const number_of_edge_based_nodes, EdgeID const number_of_edge_based_nodes,
const EdgeBasedEdgeVector &edge_based_edge_list, const EdgeBasedEdgeVector &edge_based_edge_list,
const std::uint32_t connectivity_checksum) const std::uint32_t connectivity_checksum)
@ -92,7 +91,7 @@ void writeEdgeBasedGraph(const boost::filesystem::path &path,
// reads .osrm.ebg file // reads .osrm.ebg file
template <typename EdgeBasedEdgeVector> template <typename EdgeBasedEdgeVector>
void readEdgeBasedGraph(const boost::filesystem::path &path, void readEdgeBasedGraph(const std::filesystem::path &path,
EdgeID &number_of_edge_based_nodes, EdgeID &number_of_edge_based_nodes,
EdgeBasedEdgeVector &edge_based_edge_list, EdgeBasedEdgeVector &edge_based_edge_list,
std::uint32_t &connectivity_checksum) std::uint32_t &connectivity_checksum)
@ -108,9 +107,9 @@ void readEdgeBasedGraph(const boost::filesystem::path &path,
// reads .osrm.nbg_nodes // reads .osrm.nbg_nodes
template <typename CoordinatesT, typename PackedOSMIDsT> template <typename CoordinatesT, typename PackedOSMIDsT>
inline void readNodes(const boost::filesystem::path &path, void readNodes(const std::filesystem::path &path,
CoordinatesT &coordinates, CoordinatesT &coordinates,
PackedOSMIDsT &osm_node_ids) PackedOSMIDsT &osm_node_ids)
{ {
static_assert(std::is_same<typename CoordinatesT::value_type, util::Coordinate>::value, ""); static_assert(std::is_same<typename CoordinatesT::value_type, util::Coordinate>::value, "");
static_assert(std::is_same<typename PackedOSMIDsT::value_type, OSMNodeID>::value, ""); static_assert(std::is_same<typename PackedOSMIDsT::value_type, OSMNodeID>::value, "");
@ -124,7 +123,7 @@ inline void readNodes(const boost::filesystem::path &path,
// reads only coordinates from .osrm.nbg_nodes // reads only coordinates from .osrm.nbg_nodes
template <typename CoordinatesT> template <typename CoordinatesT>
inline void readNodeCoordinates(const boost::filesystem::path &path, CoordinatesT &coordinates) void readNodeCoordinates(const std::filesystem::path &path, CoordinatesT &coordinates)
{ {
static_assert(std::is_same<typename CoordinatesT::value_type, util::Coordinate>::value, ""); static_assert(std::is_same<typename CoordinatesT::value_type, util::Coordinate>::value, "");
@ -136,9 +135,9 @@ inline void readNodeCoordinates(const boost::filesystem::path &path, Coordinates
// writes .osrm.nbg_nodes // writes .osrm.nbg_nodes
template <typename CoordinatesT, typename PackedOSMIDsT> template <typename CoordinatesT, typename PackedOSMIDsT>
inline void writeNodes(const boost::filesystem::path &path, void writeNodes(const std::filesystem::path &path,
const CoordinatesT &coordinates, const CoordinatesT &coordinates,
const PackedOSMIDsT &osm_node_ids) const PackedOSMIDsT &osm_node_ids)
{ {
static_assert(std::is_same<typename CoordinatesT::value_type, util::Coordinate>::value, ""); static_assert(std::is_same<typename CoordinatesT::value_type, util::Coordinate>::value, "");
static_assert(std::is_same<typename PackedOSMIDsT::value_type, OSMNodeID>::value, ""); static_assert(std::is_same<typename PackedOSMIDsT::value_type, OSMNodeID>::value, "");
@ -151,7 +150,7 @@ inline void writeNodes(const boost::filesystem::path &path,
} }
// reads .osrm.cnbg_to_ebg // reads .osrm.cnbg_to_ebg
inline void readNBGMapping(const boost::filesystem::path &path, std::vector<NBGToEBG> &mapping) inline void readNBGMapping(const std::filesystem::path &path, std::vector<NBGToEBG> &mapping)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -160,8 +159,7 @@ inline void readNBGMapping(const boost::filesystem::path &path, std::vector<NBGT
} }
// writes .osrm.cnbg_to_ebg // writes .osrm.cnbg_to_ebg
inline void writeNBGMapping(const boost::filesystem::path &path, inline void writeNBGMapping(const std::filesystem::path &path, const std::vector<NBGToEBG> &mapping)
const std::vector<NBGToEBG> &mapping)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint}; storage::tar::FileWriter writer{path, fingerprint};
@ -170,7 +168,7 @@ inline void writeNBGMapping(const boost::filesystem::path &path,
} }
// reads .osrm.datasource_names // reads .osrm.datasource_names
inline void readDatasources(const boost::filesystem::path &path, Datasources &sources) inline void readDatasources(const std::filesystem::path &path, Datasources &sources)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -179,7 +177,7 @@ inline void readDatasources(const boost::filesystem::path &path, Datasources &so
} }
// writes .osrm.datasource_names // writes .osrm.datasource_names
inline void writeDatasources(const boost::filesystem::path &path, Datasources &sources) inline void writeDatasources(const std::filesystem::path &path, Datasources &sources)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint}; storage::tar::FileWriter writer{path, fingerprint};
@ -189,7 +187,7 @@ inline void writeDatasources(const boost::filesystem::path &path, Datasources &s
// reads .osrm.geometry // reads .osrm.geometry
template <typename SegmentDataT> template <typename SegmentDataT>
inline void readSegmentData(const boost::filesystem::path &path, SegmentDataT &segment_data) void readSegmentData(const std::filesystem::path &path, SegmentDataT &segment_data)
{ {
static_assert(std::is_same<SegmentDataContainer, SegmentDataT>::value || static_assert(std::is_same<SegmentDataContainer, SegmentDataT>::value ||
std::is_same<SegmentDataView, SegmentDataT>::value, std::is_same<SegmentDataView, SegmentDataT>::value,
@ -202,7 +200,7 @@ inline void readSegmentData(const boost::filesystem::path &path, SegmentDataT &s
// writes .osrm.geometry // writes .osrm.geometry
template <typename SegmentDataT> template <typename SegmentDataT>
inline void writeSegmentData(const boost::filesystem::path &path, const SegmentDataT &segment_data) void writeSegmentData(const std::filesystem::path &path, const SegmentDataT &segment_data)
{ {
static_assert(std::is_same<SegmentDataContainer, SegmentDataT>::value || static_assert(std::is_same<SegmentDataContainer, SegmentDataT>::value ||
std::is_same<SegmentDataView, SegmentDataT>::value, std::is_same<SegmentDataView, SegmentDataT>::value,
@ -215,7 +213,7 @@ inline void writeSegmentData(const boost::filesystem::path &path, const SegmentD
// reads .osrm.ebg_nodes // reads .osrm.ebg_nodes
template <typename NodeDataT> template <typename NodeDataT>
inline void readNodeData(const boost::filesystem::path &path, NodeDataT &node_data) inline void readNodeData(const std::filesystem::path &path, NodeDataT &node_data)
{ {
static_assert(std::is_same<EdgeBasedNodeDataContainer, NodeDataT>::value || static_assert(std::is_same<EdgeBasedNodeDataContainer, NodeDataT>::value ||
std::is_same<EdgeBasedNodeDataView, NodeDataT>::value || std::is_same<EdgeBasedNodeDataView, NodeDataT>::value ||
@ -229,7 +227,7 @@ inline void readNodeData(const boost::filesystem::path &path, NodeDataT &node_da
// writes .osrm.ebg_nodes // writes .osrm.ebg_nodes
template <typename NodeDataT> template <typename NodeDataT>
inline void writeNodeData(const boost::filesystem::path &path, const NodeDataT &node_data) inline void writeNodeData(const std::filesystem::path &path, const NodeDataT &node_data)
{ {
static_assert(std::is_same<EdgeBasedNodeDataContainer, NodeDataT>::value || static_assert(std::is_same<EdgeBasedNodeDataContainer, NodeDataT>::value ||
std::is_same<EdgeBasedNodeDataView, NodeDataT>::value || std::is_same<EdgeBasedNodeDataView, NodeDataT>::value ||
@ -243,7 +241,7 @@ inline void writeNodeData(const boost::filesystem::path &path, const NodeDataT &
// reads .osrm.tls // reads .osrm.tls
template <typename OffsetsT, typename MaskT> template <typename OffsetsT, typename MaskT>
inline void readTurnLaneDescriptions(const boost::filesystem::path &path, inline void readTurnLaneDescriptions(const std::filesystem::path &path,
OffsetsT &turn_offsets, OffsetsT &turn_offsets,
MaskT &turn_masks) MaskT &turn_masks)
{ {
@ -260,7 +258,7 @@ inline void readTurnLaneDescriptions(const boost::filesystem::path &path,
// writes .osrm.tls // writes .osrm.tls
template <typename OffsetsT, typename MaskT> template <typename OffsetsT, typename MaskT>
inline void writeTurnLaneDescriptions(const boost::filesystem::path &path, inline void writeTurnLaneDescriptions(const std::filesystem::path &path,
const OffsetsT &turn_offsets, const OffsetsT &turn_offsets,
const MaskT &turn_masks) const MaskT &turn_masks)
{ {
@ -277,7 +275,7 @@ inline void writeTurnLaneDescriptions(const boost::filesystem::path &path,
// reads .osrm.tld // reads .osrm.tld
template <typename TurnLaneDataT> template <typename TurnLaneDataT>
inline void readTurnLaneData(const boost::filesystem::path &path, TurnLaneDataT &turn_lane_data) inline void readTurnLaneData(const std::filesystem::path &path, TurnLaneDataT &turn_lane_data)
{ {
static_assert( static_assert(
std::is_same<typename TurnLaneDataT::value_type, util::guidance::LaneTupleIdPair>::value, std::is_same<typename TurnLaneDataT::value_type, util::guidance::LaneTupleIdPair>::value,
@ -291,7 +289,7 @@ inline void readTurnLaneData(const boost::filesystem::path &path, TurnLaneDataT
// writes .osrm.tld // writes .osrm.tld
template <typename TurnLaneDataT> template <typename TurnLaneDataT>
inline void writeTurnLaneData(const boost::filesystem::path &path, inline void writeTurnLaneData(const std::filesystem::path &path,
const TurnLaneDataT &turn_lane_data) const TurnLaneDataT &turn_lane_data)
{ {
static_assert( static_assert(
@ -306,7 +304,7 @@ inline void writeTurnLaneData(const boost::filesystem::path &path,
// reads .osrm.timestamp // reads .osrm.timestamp
template <typename TimestampDataT> template <typename TimestampDataT>
inline void readTimestamp(const boost::filesystem::path &path, TimestampDataT &timestamp) inline void readTimestamp(const std::filesystem::path &path, TimestampDataT &timestamp)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -316,7 +314,7 @@ inline void readTimestamp(const boost::filesystem::path &path, TimestampDataT &t
// writes .osrm.timestamp // writes .osrm.timestamp
template <typename TimestampDataT> template <typename TimestampDataT>
inline void writeTimestamp(const boost::filesystem::path &path, const TimestampDataT &timestamp) inline void writeTimestamp(const std::filesystem::path &path, const TimestampDataT &timestamp)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint}; storage::tar::FileWriter writer{path, fingerprint};
@ -326,7 +324,7 @@ inline void writeTimestamp(const boost::filesystem::path &path, const TimestampD
// reads .osrm.maneuver_overrides // reads .osrm.maneuver_overrides
template <typename StorageManeuverOverrideT, typename NodeSequencesT> template <typename StorageManeuverOverrideT, typename NodeSequencesT>
inline void readManeuverOverrides(const boost::filesystem::path &path, inline void readManeuverOverrides(const std::filesystem::path &path,
StorageManeuverOverrideT &maneuver_overrides, StorageManeuverOverrideT &maneuver_overrides,
NodeSequencesT &node_sequences) NodeSequencesT &node_sequences)
{ {
@ -340,7 +338,7 @@ inline void readManeuverOverrides(const boost::filesystem::path &path,
} }
// writes .osrm.maneuver_overrides // writes .osrm.maneuver_overrides
inline void writeManeuverOverrides(const boost::filesystem::path &path, inline void writeManeuverOverrides(const std::filesystem::path &path,
const std::vector<StorageManeuverOverride> &maneuver_overrides, const std::vector<StorageManeuverOverride> &maneuver_overrides,
const std::vector<NodeID> &node_sequences) const std::vector<NodeID> &node_sequences)
{ {
@ -355,7 +353,7 @@ inline void writeManeuverOverrides(const boost::filesystem::path &path,
// writes .osrm.turn_weight_penalties // writes .osrm.turn_weight_penalties
template <typename TurnPenaltyT> template <typename TurnPenaltyT>
inline void writeTurnWeightPenalty(const boost::filesystem::path &path, inline void writeTurnWeightPenalty(const std::filesystem::path &path,
const TurnPenaltyT &turn_penalty) const TurnPenaltyT &turn_penalty)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
@ -366,7 +364,7 @@ inline void writeTurnWeightPenalty(const boost::filesystem::path &path,
// read .osrm.turn_weight_penalties // read .osrm.turn_weight_penalties
template <typename TurnPenaltyT> template <typename TurnPenaltyT>
inline void readTurnWeightPenalty(const boost::filesystem::path &path, TurnPenaltyT &turn_penalty) inline void readTurnWeightPenalty(const std::filesystem::path &path, TurnPenaltyT &turn_penalty)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -376,7 +374,7 @@ inline void readTurnWeightPenalty(const boost::filesystem::path &path, TurnPenal
// writes .osrm.turn_duration_penalties // writes .osrm.turn_duration_penalties
template <typename TurnPenaltyT> template <typename TurnPenaltyT>
inline void writeTurnDurationPenalty(const boost::filesystem::path &path, inline void writeTurnDurationPenalty(const std::filesystem::path &path,
const TurnPenaltyT &turn_penalty) const TurnPenaltyT &turn_penalty)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
@ -387,7 +385,7 @@ inline void writeTurnDurationPenalty(const boost::filesystem::path &path,
// read .osrm.turn_weight_penalties // read .osrm.turn_weight_penalties
template <typename TurnPenaltyT> template <typename TurnPenaltyT>
inline void readTurnDurationPenalty(const boost::filesystem::path &path, TurnPenaltyT &turn_penalty) inline void readTurnDurationPenalty(const std::filesystem::path &path, TurnPenaltyT &turn_penalty)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -397,7 +395,7 @@ inline void readTurnDurationPenalty(const boost::filesystem::path &path, TurnPen
// writes .osrm.turn_penalties_index // writes .osrm.turn_penalties_index
template <typename TurnIndexT> template <typename TurnIndexT>
inline void writeTurnPenaltiesIndex(const boost::filesystem::path &path, inline void writeTurnPenaltiesIndex(const std::filesystem::path &path,
const TurnIndexT &turn_penalties_index) const TurnIndexT &turn_penalties_index)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
@ -408,7 +406,7 @@ inline void writeTurnPenaltiesIndex(const boost::filesystem::path &path,
// read .osrm.turn_penalties_index // read .osrm.turn_penalties_index
template <typename TurnIndexT> template <typename TurnIndexT>
inline void readTurnPenaltiesIndex(const boost::filesystem::path &path, inline void readTurnPenaltiesIndex(const std::filesystem::path &path,
TurnIndexT &turn_penalties_index) TurnIndexT &turn_penalties_index)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
@ -419,7 +417,7 @@ inline void readTurnPenaltiesIndex(const boost::filesystem::path &path,
// writes .osrm.restrictions // writes .osrm.restrictions
template <typename ConditionalRestrictionsT> template <typename ConditionalRestrictionsT>
inline void writeConditionalRestrictions(const boost::filesystem::path &path, inline void writeConditionalRestrictions(const std::filesystem::path &path,
const ConditionalRestrictionsT &conditional_restrictions) const ConditionalRestrictionsT &conditional_restrictions)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
@ -430,7 +428,7 @@ inline void writeConditionalRestrictions(const boost::filesystem::path &path,
// read .osrm.restrictions // read .osrm.restrictions
template <typename ConditionalRestrictionsT> template <typename ConditionalRestrictionsT>
inline void readConditionalRestrictions(const boost::filesystem::path &path, inline void readConditionalRestrictions(const std::filesystem::path &path,
ConditionalRestrictionsT &conditional_restrictions) ConditionalRestrictionsT &conditional_restrictions)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
@ -441,7 +439,7 @@ inline void readConditionalRestrictions(const boost::filesystem::path &path,
// reads .osrm file which is a temporary file of osrm-extract // reads .osrm file which is a temporary file of osrm-extract
template <typename PackedOSMIDsT> template <typename PackedOSMIDsT>
void readRawNBGraph(const boost::filesystem::path &path, void readRawNBGraph(const std::filesystem::path &path,
std::vector<util::Coordinate> &coordinates, std::vector<util::Coordinate> &coordinates,
PackedOSMIDsT &osm_node_ids, PackedOSMIDsT &osm_node_ids,
std::vector<extractor::NodeBasedEdge> &edge_list) std::vector<extractor::NodeBasedEdge> &edge_list)
@ -466,8 +464,7 @@ void readRawNBGraph(const boost::filesystem::path &path,
storage::serialization::read(reader, "/extractor/edges", edge_list); storage::serialization::read(reader, "/extractor/edges", edge_list);
} }
template <typename NameTableT> template <typename NameTableT> void readNames(const std::filesystem::path &path, NameTableT &table)
void readNames(const boost::filesystem::path &path, NameTableT &table)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -476,7 +473,7 @@ void readNames(const boost::filesystem::path &path, NameTableT &table)
} }
template <typename NameTableT> template <typename NameTableT>
void writeNames(const boost::filesystem::path &path, const NameTableT &table) void writeNames(const std::filesystem::path &path, const NameTableT &table)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint}; storage::tar::FileWriter writer{path, fingerprint};
@ -485,7 +482,7 @@ void writeNames(const boost::filesystem::path &path, const NameTableT &table)
} }
template <typename NodeWeightsVectorT> template <typename NodeWeightsVectorT>
void readEdgeBasedNodeWeights(const boost::filesystem::path &path, NodeWeightsVectorT &weights) void readEdgeBasedNodeWeights(const std::filesystem::path &path, NodeWeightsVectorT &weights)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -494,8 +491,7 @@ void readEdgeBasedNodeWeights(const boost::filesystem::path &path, NodeWeightsVe
} }
template <typename NodeDistancesVectorT> template <typename NodeDistancesVectorT>
void readEdgeBasedNodeDistances(const boost::filesystem::path &path, void readEdgeBasedNodeDistances(const std::filesystem::path &path, NodeDistancesVectorT &distances)
NodeDistancesVectorT &distances)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -504,7 +500,7 @@ void readEdgeBasedNodeDistances(const boost::filesystem::path &path,
} }
template <typename NodeWeightsVectorT, typename NodeDurationsVectorT, typename NodeDistancesVectorT> template <typename NodeWeightsVectorT, typename NodeDurationsVectorT, typename NodeDistancesVectorT>
void writeEdgeBasedNodeWeightsDurationsDistances(const boost::filesystem::path &path, void writeEdgeBasedNodeWeightsDurationsDistances(const std::filesystem::path &path,
const NodeWeightsVectorT &weights, const NodeWeightsVectorT &weights,
const NodeDurationsVectorT &durations, const NodeDurationsVectorT &durations,
const NodeDistancesVectorT &distances) const NodeDistancesVectorT &distances)
@ -518,7 +514,7 @@ void writeEdgeBasedNodeWeightsDurationsDistances(const boost::filesystem::path &
} }
template <typename NodeWeightsVectorT, typename NodeDurationsVectorT> template <typename NodeWeightsVectorT, typename NodeDurationsVectorT>
void readEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path, void readEdgeBasedNodeWeightsDurations(const std::filesystem::path &path,
NodeWeightsVectorT &weights, NodeWeightsVectorT &weights,
NodeDurationsVectorT &durations) NodeDurationsVectorT &durations)
{ {
@ -530,7 +526,7 @@ void readEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path,
} }
template <typename NodeWeightsVectorT, typename NodeDurationsVectorT> template <typename NodeWeightsVectorT, typename NodeDurationsVectorT>
void writeEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path, void writeEdgeBasedNodeWeightsDurations(const std::filesystem::path &path,
const NodeWeightsVectorT &weights, const NodeWeightsVectorT &weights,
const NodeDurationsVectorT &durations) const NodeDurationsVectorT &durations)
{ {
@ -542,7 +538,7 @@ void writeEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path,
} }
template <typename RTreeT> template <typename RTreeT>
void writeRamIndex(const boost::filesystem::path &path, const RTreeT &rtree) void writeRamIndex(const std::filesystem::path &path, const RTreeT &rtree)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint}; storage::tar::FileWriter writer{path, fingerprint};
@ -550,7 +546,7 @@ void writeRamIndex(const boost::filesystem::path &path, const RTreeT &rtree)
util::serialization::write(writer, "/common/rtree", rtree); util::serialization::write(writer, "/common/rtree", rtree);
} }
template <typename RTreeT> void readRamIndex(const boost::filesystem::path &path, RTreeT &rtree) template <typename RTreeT> void readRamIndex(const std::filesystem::path &path, RTreeT &rtree)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};
@ -559,7 +555,7 @@ template <typename RTreeT> void readRamIndex(const boost::filesystem::path &path
} }
template <typename EdgeListT> template <typename EdgeListT>
void writeCompressedNodeBasedGraph(const boost::filesystem::path &path, const EdgeListT &edge_list) void writeCompressedNodeBasedGraph(const std::filesystem::path &path, const EdgeListT &edge_list)
{ {
const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint;
storage::tar::FileWriter writer{path, fingerprint}; storage::tar::FileWriter writer{path, fingerprint};
@ -568,7 +564,7 @@ void writeCompressedNodeBasedGraph(const boost::filesystem::path &path, const Ed
} }
template <typename EdgeListT> template <typename EdgeListT>
void readCompressedNodeBasedGraph(const boost::filesystem::path &path, EdgeListT &edge_list) void readCompressedNodeBasedGraph(const std::filesystem::path &path, EdgeListT &edge_list)
{ {
const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; const auto fingerprint = storage::tar::FileReader::VerifyFingerprint;
storage::tar::FileReader reader{path, fingerprint}; storage::tar::FileReader reader{path, fingerprint};

View File

@ -1,13 +1,13 @@
#ifndef OSRM_LOCATION_DEPENDENT_DATA_HPP #ifndef OSRM_LOCATION_DEPENDENT_DATA_HPP
#define OSRM_LOCATION_DEPENDENT_DATA_HPP #define OSRM_LOCATION_DEPENDENT_DATA_HPP
#include <boost/filesystem/path.hpp>
#include <boost/geometry.hpp> #include <boost/geometry.hpp>
#include <boost/geometry/geometries/point_xy.hpp> #include <boost/geometry/geometries/point_xy.hpp>
#include <boost/geometry/index/rtree.hpp> #include <boost/geometry/index/rtree.hpp>
#include <osmium/osm/way.hpp> #include <osmium/osm/way.hpp>
#include <filesystem>
#include <string> #include <string>
#include <unordered_map> #include <unordered_map>
@ -30,7 +30,7 @@ struct LocationDependentData
using property_t = boost::variant<boost::blank, double, std::string, bool>; using property_t = boost::variant<boost::blank, double, std::string, bool>;
using properties_t = std::unordered_map<std::string, property_t>; using properties_t = std::unordered_map<std::string, property_t>;
LocationDependentData(const std::vector<boost::filesystem::path> &file_paths); LocationDependentData(const std::vector<std::filesystem::path> &file_paths);
bool empty() const { return rtree.empty(); } bool empty() const { return rtree.empty(); }
@ -39,7 +39,7 @@ struct LocationDependentData
property_t FindByKey(const std::vector<std::size_t> &property_indexes, const char *key) const; property_t FindByKey(const std::vector<std::size_t> &property_indexes, const char *key) const;
private: private:
void loadLocationDependentData(const boost::filesystem::path &file_path, void loadLocationDependentData(const std::filesystem::path &file_path,
std::vector<rtree_t::value_type> &bounding_boxes); std::vector<rtree_t::value_type> &bounding_boxes);
rtree_t rtree; rtree_t rtree;

View File

@ -12,8 +12,7 @@
#include "util/coordinate.hpp" #include "util/coordinate.hpp"
#include "util/node_based_graph.hpp" #include "util/node_based_graph.hpp"
#include <boost/filesystem/path.hpp> #include <filesystem>
#include <memory> #include <memory>
#include <string> #include <string>
#include <unordered_set> #include <unordered_set>

View File

@ -7,14 +7,13 @@
#include <boost/algorithm/string.hpp> #include <boost/algorithm/string.hpp>
#include <boost/algorithm/string/trim.hpp> #include <boost/algorithm/string/trim.hpp>
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/foreach.hpp> #include <boost/foreach.hpp>
#include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/qi.hpp>
#include <boost/spirit/include/qi_int.hpp> #include <boost/spirit/include/qi_int.hpp>
#include <storage/io.hpp> #include <storage/io.hpp>
#include <filesystem>
#include <iterator> #include <iterator>
#include <string> #include <string>
#include <unordered_map> #include <unordered_map>
@ -40,7 +39,7 @@ struct RasterDatum
class RasterGrid class RasterGrid
{ {
public: public:
RasterGrid(const boost::filesystem::path &filepath, std::size_t _xdim, std::size_t _ydim) RasterGrid(const std::filesystem::path &filepath, std::size_t _xdim, std::size_t _ydim)
{ {
xdim = _xdim; xdim = _xdim;
ydim = _ydim; ydim = _ydim;

View File

@ -70,7 +70,7 @@ class Sol2ScriptingEnvironment final : public ScriptingEnvironment
explicit Sol2ScriptingEnvironment( explicit Sol2ScriptingEnvironment(
const std::string &file_name, const std::string &file_name,
const std::vector<boost::filesystem::path> &location_dependent_data_paths); const std::vector<std::filesystem::path> &location_dependent_data_paths);
~Sol2ScriptingEnvironment() override = default; ~Sol2ScriptingEnvironment() override = default;
const ProfileProperties &GetProfileProperties() override; const ProfileProperties &GetProfileProperties() override;

View File

@ -8,13 +8,12 @@
#include "storage/shared_memory_ownership.hpp" #include "storage/shared_memory_ownership.hpp"
#include "storage/tar_fwd.hpp" #include "storage/tar_fwd.hpp"
#include <boost/filesystem/path.hpp>
#include <boost/range/adaptor/reversed.hpp> #include <boost/range/adaptor/reversed.hpp>
#include <boost/range/iterator_range.hpp> #include <boost/range/iterator_range.hpp>
#include <unordered_map> #include <filesystem>
#include <string> #include <string>
#include <unordered_map>
#include <vector> #include <vector>
namespace osrm::extractor namespace osrm::extractor

View File

@ -10,12 +10,16 @@
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <cstdint>
#include <filesystem>
#include <type_traits>
namespace osrm::guidance::files namespace osrm::guidance::files
{ {
// reads .osrm.edges // reads .osrm.edges
template <typename TurnDataT> template <typename TurnDataT>
inline void readTurnData(const boost::filesystem::path &path, inline void readTurnData(const std::filesystem::path &path,
TurnDataT &turn_data, TurnDataT &turn_data,
std::uint32_t &connectivity_checksum) std::uint32_t &connectivity_checksum)
{ {
@ -32,7 +36,7 @@ inline void readTurnData(const boost::filesystem::path &path,
// writes .osrm.edges // writes .osrm.edges
template <typename TurnDataT> template <typename TurnDataT>
inline void writeTurnData(const boost::filesystem::path &path, inline void writeTurnData(const std::filesystem::path &path,
const TurnDataT &turn_data, const TurnDataT &turn_data,
const std::uint32_t connectivity_checksum) const std::uint32_t connectivity_checksum)
{ {

View File

@ -173,8 +173,8 @@ graphToEdges(const DynamicEdgeBasedGraph &edge_based_graph)
for (auto edge : edge_based_graph.GetAdjacentEdgeRange(node)) for (auto edge : edge_based_graph.GetAdjacentEdgeRange(node))
{ {
const auto &data = edge_based_graph.GetEdgeData(edge); const auto &data = edge_based_graph.GetEdgeData(edge);
// we only need to save the forward edges, since the read method will // we only need to save the forward edges, since the read method
// convert from forward to bi-directional edges again // will convert from forward to bi-directional edges again
if (data.forward) if (data.forward)
{ {
auto target = edge_based_graph.GetTarget(edge); auto target = edge_based_graph.GetTarget(edge);
@ -191,7 +191,7 @@ graphToEdges(const DynamicEdgeBasedGraph &edge_based_graph)
return edges; return edges;
} }
inline DynamicEdgeBasedGraph LoadEdgeBasedGraph(const boost::filesystem::path &path) inline DynamicEdgeBasedGraph LoadEdgeBasedGraph(const std::filesystem::path &path)
{ {
EdgeID number_of_edge_based_nodes; EdgeID number_of_edge_based_nodes;
std::vector<extractor::EdgeBasedEdge> edges; std::vector<extractor::EdgeBasedEdge> edges;

View File

@ -10,7 +10,7 @@ namespace osrm::partitioner::files
// read .osrm.partition file // read .osrm.partition file
template <typename MultiLevelPartitionT> template <typename MultiLevelPartitionT>
inline void readPartition(const boost::filesystem::path &path, MultiLevelPartitionT &mlp) inline void readPartition(const std::filesystem::path &path, MultiLevelPartitionT &mlp)
{ {
static_assert(std::is_same<MultiLevelPartitionView, MultiLevelPartitionT>::value || static_assert(std::is_same<MultiLevelPartitionView, MultiLevelPartitionT>::value ||
std::is_same<MultiLevelPartition, MultiLevelPartitionT>::value, std::is_same<MultiLevelPartition, MultiLevelPartitionT>::value,
@ -24,7 +24,7 @@ inline void readPartition(const boost::filesystem::path &path, MultiLevelPartiti
// writes .osrm.partition file // writes .osrm.partition file
template <typename MultiLevelPartitionT> template <typename MultiLevelPartitionT>
inline void writePartition(const boost::filesystem::path &path, const MultiLevelPartitionT &mlp) inline void writePartition(const std::filesystem::path &path, const MultiLevelPartitionT &mlp)
{ {
static_assert(std::is_same<MultiLevelPartitionView, MultiLevelPartitionT>::value || static_assert(std::is_same<MultiLevelPartitionView, MultiLevelPartitionT>::value ||
std::is_same<MultiLevelPartition, MultiLevelPartitionT>::value, std::is_same<MultiLevelPartition, MultiLevelPartitionT>::value,
@ -38,7 +38,7 @@ inline void writePartition(const boost::filesystem::path &path, const MultiLevel
// reads .osrm.cells file // reads .osrm.cells file
template <typename CellStorageT> template <typename CellStorageT>
inline void readCells(const boost::filesystem::path &path, CellStorageT &storage) inline void readCells(const std::filesystem::path &path, CellStorageT &storage)
{ {
static_assert(std::is_same<CellStorageView, CellStorageT>::value || static_assert(std::is_same<CellStorageView, CellStorageT>::value ||
std::is_same<CellStorage, CellStorageT>::value, std::is_same<CellStorage, CellStorageT>::value,
@ -52,7 +52,7 @@ inline void readCells(const boost::filesystem::path &path, CellStorageT &storage
// writes .osrm.cells file // writes .osrm.cells file
template <typename CellStorageT> template <typename CellStorageT>
inline void writeCells(const boost::filesystem::path &path, CellStorageT &storage) inline void writeCells(const std::filesystem::path &path, CellStorageT &storage)
{ {
static_assert(std::is_same<CellStorageView, CellStorageT>::value || static_assert(std::is_same<CellStorageView, CellStorageT>::value ||
std::is_same<CellStorage, CellStorageT>::value, std::is_same<CellStorage, CellStorageT>::value,
@ -66,7 +66,7 @@ inline void writeCells(const boost::filesystem::path &path, CellStorageT &storag
// reads .osrm.mldgr file // reads .osrm.mldgr file
template <typename MultiLevelGraphT> template <typename MultiLevelGraphT>
inline void readGraph(const boost::filesystem::path &path, inline void readGraph(const std::filesystem::path &path,
MultiLevelGraphT &graph, MultiLevelGraphT &graph,
std::uint32_t &connectivity_checksum) std::uint32_t &connectivity_checksum)
{ {
@ -80,7 +80,7 @@ inline void readGraph(const boost::filesystem::path &path,
// writes .osrm.mldgr file // writes .osrm.mldgr file
template <typename MultiLevelGraphT> template <typename MultiLevelGraphT>
inline void writeGraph(const boost::filesystem::path &path, inline void writeGraph(const std::filesystem::path &path,
const MultiLevelGraphT &graph, const MultiLevelGraphT &graph,
const std::uint32_t connectivity_checksum) const std::uint32_t connectivity_checksum)
{ {

View File

@ -1,9 +1,8 @@
#ifndef OSRM_PARTITIONER_CONFIG_HPP #ifndef OSRM_PARTITIONER_CONFIG_HPP
#define OSRM_PARTITIONER_CONFIG_HPP #define OSRM_PARTITIONER_CONFIG_HPP
#include <boost/filesystem/path.hpp>
#include <array> #include <array>
#include <filesystem>
#include <string> #include <string>
#include "storage/io_config.hpp" #include "storage/io_config.hpp"
@ -29,7 +28,7 @@ struct PartitionerConfig final : storage::IOConfig
{ {
} }
void UseDefaultOutputNames(const boost::filesystem::path &base) void UseDefaultOutputNames(const std::filesystem::path &base)
{ {
IOConfig::UseDefaultOutputNames(base); IOConfig::UseDefaultOutputNames(base);
} }

View File

@ -10,14 +10,13 @@
#include "util/log.hpp" #include "util/log.hpp"
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/iostreams/device/array.hpp> #include <boost/iostreams/device/array.hpp>
#include <boost/iostreams/seek.hpp> #include <boost/iostreams/seek.hpp>
#include <boost/iostreams/stream.hpp> #include <boost/iostreams/stream.hpp>
#include <cerrno> #include <cerrno>
#include <cstring> #include <cstring>
#include <filesystem>
#include <fstream>
#include <iostream> #include <iostream>
#include <tuple> #include <tuple>
#include <type_traits> #include <type_traits>
@ -35,11 +34,11 @@ class FileReader
}; };
FileReader(const std::string &filename, const FingerprintFlag flag) FileReader(const std::string &filename, const FingerprintFlag flag)
: FileReader(boost::filesystem::path(filename), flag) : FileReader(std::filesystem::path(filename), flag)
{ {
} }
FileReader(const boost::filesystem::path &filepath_, const FingerprintFlag flag) FileReader(const std::filesystem::path &filepath_, const FingerprintFlag flag)
: filepath(filepath_), fingerprint(flag) : filepath(filepath_), fingerprint(flag)
{ {
input_stream.open(filepath, std::ios::binary); input_stream.open(filepath, std::ios::binary);
@ -58,14 +57,14 @@ class FileReader
std::size_t GetSize() std::size_t GetSize()
{ {
const boost::filesystem::path path(filepath); const std::filesystem::path path(filepath);
try try
{ {
return std::size_t(boost::filesystem::file_size(path)) - return std::size_t(std::filesystem::file_size(path)) -
((fingerprint == FingerprintFlag::VerifyFingerprint) ? sizeof(util::FingerPrint) ((fingerprint == FingerprintFlag::VerifyFingerprint) ? sizeof(util::FingerPrint)
: 0); : 0);
} }
catch (const boost::filesystem::filesystem_error &ex) catch (const std::filesystem::filesystem_error &ex)
{ {
std::cout << ex.what() << std::endl; std::cout << ex.what() << std::endl;
throw; throw;
@ -196,8 +195,8 @@ class FileReader
} }
private: private:
const boost::filesystem::path filepath; const std::filesystem::path filepath;
boost::filesystem::ifstream input_stream; std::ifstream input_stream;
FingerprintFlag fingerprint; FingerprintFlag fingerprint;
}; };
@ -211,11 +210,11 @@ class FileWriter
}; };
FileWriter(const std::string &filename, const FingerprintFlag flag) FileWriter(const std::string &filename, const FingerprintFlag flag)
: FileWriter(boost::filesystem::path(filename), flag) : FileWriter(std::filesystem::path(filename), flag)
{ {
} }
FileWriter(const boost::filesystem::path &filepath_, const FingerprintFlag flag) FileWriter(const std::filesystem::path &filepath_, const FingerprintFlag flag)
: filepath(filepath_), fingerprint(flag) : filepath(filepath_), fingerprint(flag)
{ {
output_stream.open(filepath, std::ios::binary); output_stream.open(filepath, std::ios::binary);
@ -284,8 +283,8 @@ class FileWriter
} }
private: private:
const boost::filesystem::path filepath; const std::filesystem::path filepath;
boost::filesystem::ofstream output_stream; std::ofstream output_stream;
FingerprintFlag fingerprint; FingerprintFlag fingerprint;
}; };

View File

@ -3,19 +3,19 @@
#include "util/exception.hpp" #include "util/exception.hpp"
#include <array>
#include <boost/algorithm/string/predicate.hpp> #include <boost/algorithm/string/predicate.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/path.hpp> #include <array>
#include <filesystem>
#include <string> #include <string>
namespace osrm::storage namespace osrm::storage
{ {
struct IOConfig struct IOConfig
{ {
IOConfig(std::vector<boost::filesystem::path> required_input_files_, IOConfig(std::vector<std::filesystem::path> required_input_files_,
std::vector<boost::filesystem::path> optional_input_files_, std::vector<std::filesystem::path> optional_input_files_,
std::vector<boost::filesystem::path> output_files_) std::vector<std::filesystem::path> output_files_)
: required_input_files(std::move(required_input_files_)), : required_input_files(std::move(required_input_files_)),
optional_input_files(std::move(optional_input_files_)), optional_input_files(std::move(optional_input_files_)),
output_files(std::move(output_files_)) output_files(std::move(output_files_))
@ -24,7 +24,7 @@ struct IOConfig
bool IsValid() const; bool IsValid() const;
std::vector<std::string> GetMissingFiles() const; std::vector<std::string> GetMissingFiles() const;
boost::filesystem::path GetPath(const std::string &fileName) const std::filesystem::path GetPath(const std::string &fileName) const
{ {
if (!IsConfigured(fileName, required_input_files) && if (!IsConfigured(fileName, required_input_files) &&
!IsConfigured(fileName, optional_input_files) && !IsConfigured(fileName, output_files)) !IsConfigured(fileName, optional_input_files) && !IsConfigured(fileName, output_files))
@ -40,11 +40,11 @@ struct IOConfig
return IsConfigured(fileName, required_input_files); return IsConfigured(fileName, required_input_files);
} }
boost::filesystem::path base_path; std::filesystem::path base_path;
protected: protected:
// Infer the base path from the path of the .osrm file // Infer the base path from the path of the .osrm file
void UseDefaultOutputNames(const boost::filesystem::path &base) void UseDefaultOutputNames(const std::filesystem::path &base)
{ {
// potentially strip off the .osrm (or other) extensions for // potentially strip off the .osrm (or other) extensions for
// determining the base path= // determining the base path=
@ -67,7 +67,7 @@ struct IOConfig
private: private:
static bool IsConfigured(const std::string &fileName, static bool IsConfigured(const std::string &fileName,
const std::vector<boost::filesystem::path> &paths) const std::vector<std::filesystem::path> &paths)
{ {
for (auto &path : paths) for (auto &path : paths)
{ {
@ -80,9 +80,9 @@ struct IOConfig
return false; return false;
} }
std::vector<boost::filesystem::path> required_input_files; std::vector<std::filesystem::path> required_input_files;
std::vector<boost::filesystem::path> optional_input_files; std::vector<std::filesystem::path> optional_input_files;
std::vector<boost::filesystem::path> output_files; std::vector<std::filesystem::path> output_files;
}; };
} // namespace osrm::storage } // namespace osrm::storage

View File

@ -5,8 +5,6 @@
#include "util/exception_utils.hpp" #include "util/exception_utils.hpp"
#include "util/log.hpp" #include "util/log.hpp"
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/interprocess/mapped_region.hpp> #include <boost/interprocess/mapped_region.hpp>
#ifndef _WIN32 #ifndef _WIN32
#include <boost/interprocess/xsi_shared_memory.hpp> #include <boost/interprocess/xsi_shared_memory.hpp>
@ -23,6 +21,8 @@
#include <algorithm> #include <algorithm>
#include <exception> #include <exception>
#include <filesystem>
#include <fstream>
#include <thread> #include <thread>
#include "storage/shared_memory_ownership.hpp" #include "storage/shared_memory_ownership.hpp"
@ -32,10 +32,10 @@ namespace osrm::storage
struct OSRMLockFile struct OSRMLockFile
{ {
template <typename IdentifierT> boost::filesystem::path operator()(const IdentifierT &id) template <typename IdentifierT> std::filesystem::path operator()(const IdentifierT &id)
{ {
boost::filesystem::path temp_dir = boost::filesystem::temp_directory_path(); std::filesystem::path temp_dir = std::filesystem::temp_directory_path();
boost::filesystem::path lock_file = temp_dir / ("osrm-" + std::to_string(id) + ".lock"); std::filesystem::path lock_file = temp_dir / ("osrm-" + std::to_string(id) + ".lock");
return lock_file; return lock_file;
} }
}; };
@ -51,7 +51,7 @@ class SharedMemory
SharedMemory &operator=(const SharedMemory &) = delete; SharedMemory &operator=(const SharedMemory &) = delete;
template <typename IdentifierT> template <typename IdentifierT>
SharedMemory(const boost::filesystem::path &lock_file, SharedMemory(const std::filesystem::path &lock_file,
const IdentifierT id, const IdentifierT id,
const uint64_t size = 0) const uint64_t size = 0)
: key(lock_file.string().c_str(), id) : key(lock_file.string().c_str(), id)
@ -202,7 +202,7 @@ class SharedMemory
void *Ptr() const { return region.get_address(); } void *Ptr() const { return region.get_address(); }
std::size_t Size() const { return region.get_size(); } std::size_t Size() const { return region.get_size(); }
SharedMemory(const boost::filesystem::path &lock_file, const int id, const uint64_t size = 0) SharedMemory(const std::filesystem::path &lock_file, const int id, const uint64_t size = 0)
{ {
sprintf(key, "%s.%d", "osrm.lock", id); sprintf(key, "%s.%d", "osrm.lock", id);
if (0 == size) if (0 == size)
@ -290,7 +290,7 @@ std::unique_ptr<SharedMemory> makeSharedMemory(const IdentifierT &id, const uint
try try
{ {
LockFileT lock_file; LockFileT lock_file;
if (!boost::filesystem::exists(lock_file(id))) if (!std::filesystem::exists(lock_file(id)))
{ {
if (0 == size) if (0 == size)
{ {
@ -298,7 +298,7 @@ std::unique_ptr<SharedMemory> makeSharedMemory(const IdentifierT &id, const uint
} }
else else
{ {
boost::filesystem::ofstream ofs(lock_file(id)); std::ofstream ofs(lock_file(id));
} }
} }
return std::make_unique<SharedMemory>(lock_file(id), id, size); return std::make_unique<SharedMemory>(lock_file(id), id, size);

View File

@ -32,15 +32,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "storage/shared_datatype.hpp" #include "storage/shared_datatype.hpp"
#include "storage/storage_config.hpp" #include "storage/storage_config.hpp"
#include <boost/filesystem/path.hpp> #include <filesystem>
#include <string> #include <string>
#include <vector> #include <vector>
namespace osrm::storage namespace osrm::storage
{ {
void populateLayoutFromFile(const boost::filesystem::path &path, storage::BaseDataLayout &layout); void populateLayoutFromFile(const std::filesystem::path &path, storage::BaseDataLayout &layout);
class Storage class Storage
{ {
@ -51,10 +50,10 @@ class Storage
void PopulateStaticData(const SharedDataIndex &index); void PopulateStaticData(const SharedDataIndex &index);
void PopulateUpdatableData(const SharedDataIndex &index); void PopulateUpdatableData(const SharedDataIndex &index);
void PopulateLayout(storage::BaseDataLayout &layout, void PopulateLayout(storage::BaseDataLayout &layout,
const std::vector<std::pair<bool, boost::filesystem::path>> &files); const std::vector<std::pair<bool, std::filesystem::path>> &files);
std::string PopulateLayoutWithRTree(storage::BaseDataLayout &layout); std::string PopulateLayoutWithRTree(storage::BaseDataLayout &layout);
std::vector<std::pair<bool, boost::filesystem::path>> GetUpdatableFiles(); std::vector<std::pair<bool, std::filesystem::path>> GetUpdatableFiles();
std::vector<std::pair<bool, boost::filesystem::path>> GetStaticFiles(); std::vector<std::pair<bool, std::filesystem::path>> GetStaticFiles();
private: private:
StorageConfig config; StorageConfig config;

View File

@ -28,22 +28,23 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef STORAGE_CONFIG_HPP #ifndef STORAGE_CONFIG_HPP
#define STORAGE_CONFIG_HPP #define STORAGE_CONFIG_HPP
#include <boost/filesystem/path.hpp>
#include "storage/io_config.hpp" #include "storage/io_config.hpp"
#include "osrm/datasets.hpp" #include "osrm/datasets.hpp"
#include <filesystem>
#include <istream>
#include <set> #include <set>
#include <vector>
namespace osrm::storage namespace osrm::storage
{ {
std::istream &operator>>(std::istream &in, FeatureDataset &datasets); std::istream &operator>>(std::istream &in, FeatureDataset &datasets);
static std::vector<boost::filesystem::path> static std::vector<std::filesystem::path>
GetRequiredFiles(const std::vector<storage::FeatureDataset> &disabled_feature_dataset) GetRequiredFiles(const std::vector<storage::FeatureDataset> &disabled_feature_dataset)
{ {
std::set<boost::filesystem::path> required{ std::set<std::filesystem::path> required{
".osrm.datasource_names", ".osrm.datasource_names",
".osrm.ebg_nodes", ".osrm.ebg_nodes",
".osrm.edges", ".osrm.edges",
@ -82,7 +83,7 @@ GetRequiredFiles(const std::vector<storage::FeatureDataset> &disabled_feature_da
} }
} }
return std::vector<boost::filesystem::path>(required.begin(), required.end()); return std::vector<std::filesystem::path>(required.begin(), required.end());
; ;
} }
@ -94,7 +95,7 @@ GetRequiredFiles(const std::vector<storage::FeatureDataset> &disabled_feature_da
struct StorageConfig final : IOConfig struct StorageConfig final : IOConfig
{ {
StorageConfig(const boost::filesystem::path &base, StorageConfig(const std::filesystem::path &base,
const std::vector<storage::FeatureDataset> &disabled_feature_datasets_ = {}) const std::vector<storage::FeatureDataset> &disabled_feature_datasets_ = {})
: StorageConfig(disabled_feature_datasets_) : StorageConfig(disabled_feature_datasets_)
{ {

View File

@ -7,7 +7,7 @@
#include "util/integer_range.hpp" #include "util/integer_range.hpp"
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/filesystem/path.hpp> #include <filesystem>
extern "C" extern "C"
{ {
@ -19,7 +19,7 @@ namespace osrm::storage::tar
namespace detail namespace detail
{ {
inline void inline void
checkMTarError(int error_code, const boost::filesystem::path &filepath, const std::string &name) checkMTarError(int error_code, const std::filesystem::path &filepath, const std::string &name)
{ {
switch (error_code) switch (error_code)
{ {
@ -78,7 +78,7 @@ class FileReader
HasNoFingerprint HasNoFingerprint
}; };
FileReader(const boost::filesystem::path &path, FingerprintFlag flag) : path(path) FileReader(const std::filesystem::path &path, FingerprintFlag flag) : path(path)
{ {
auto ret = mtar_open(&handle, path.string().c_str(), "r"); auto ret = mtar_open(&handle, path.string().c_str(), "r");
detail::checkMTarError(ret, path, ""); detail::checkMTarError(ret, path, "");
@ -204,7 +204,7 @@ class FileReader
return true; return true;
} }
boost::filesystem::path path; std::filesystem::path path;
mtar_t handle; mtar_t handle;
}; };
@ -217,7 +217,7 @@ class FileWriter
HasNoFingerprint HasNoFingerprint
}; };
FileWriter(const boost::filesystem::path &path, FingerprintFlag flag) : path(path) FileWriter(const std::filesystem::path &path, FingerprintFlag flag) : path(path)
{ {
auto ret = mtar_open(&handle, path.string().c_str(), "w"); auto ret = mtar_open(&handle, path.string().c_str(), "w");
detail::checkMTarError(ret, path, ""); detail::checkMTarError(ret, path, "");
@ -305,7 +305,7 @@ class FileWriter
WriteFrom("osrm_fingerprint.meta", fingerprint); WriteFrom("osrm_fingerprint.meta", fingerprint);
} }
boost::filesystem::path path; std::filesystem::path path;
mtar_t handle; mtar_t handle;
}; };
} // namespace osrm::storage::tar } // namespace osrm::storage::tar

View File

@ -202,7 +202,7 @@ inline auto make_search_tree_view(const SharedDataIndex &index, const std::strin
const char *path = index.template GetBlockPtr<char>(name + "/file_index_path"); const char *path = index.template GetBlockPtr<char>(name + "/file_index_path");
if (!boost::filesystem::exists(boost::filesystem::path{path})) if (!std::filesystem::exists(std::filesystem::path{path}))
{ {
throw util::exception("Could not load " + std::string(path) + "Does the leaf file exist?" + throw util::exception("Could not load " + std::string(path) + "Does the leaf file exist?" +
SOURCE_REF); SOURCE_REF);

View File

@ -12,12 +12,12 @@
#include <tbb/spin_mutex.h> #include <tbb/spin_mutex.h>
#include <boost/exception/diagnostic_information.hpp> #include <boost/exception/diagnostic_information.hpp>
#include <boost/filesystem.hpp>
#include <boost/iostreams/device/mapped_file.hpp> #include <boost/iostreams/device/mapped_file.hpp>
#include <boost/phoenix.hpp> #include <boost/phoenix.hpp>
#include <boost/spirit/include/qi.hpp> #include <boost/spirit/include/qi.hpp>
#include <exception> #include <exception>
#include <filesystem>
#include <stdexcept> #include <stdexcept>
#include <vector> #include <vector>
@ -100,7 +100,7 @@ template <typename Key, typename Value> struct CSVFilesParser
std::vector<std::pair<Key, Value>> result; std::vector<std::pair<Key, Value>> result;
try try
{ {
if (boost::filesystem::file_size(filename) == 0) if (std::filesystem::file_size(filename) == 0)
return result; return result;
boost::iostreams::mapped_file_source mmap(filename); boost::iostreams::mapped_file_source mmap(filename);

View File

@ -28,14 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef OSRM_UPDATER_UPDATER_CONFIG_HPP #ifndef OSRM_UPDATER_UPDATER_CONFIG_HPP
#define OSRM_UPDATER_UPDATER_CONFIG_HPP #define OSRM_UPDATER_UPDATER_CONFIG_HPP
#include <boost/filesystem/path.hpp>
#include <chrono>
#include <string>
#include "storage/io_config.hpp" #include "storage/io_config.hpp"
#include "storage/storage_config.hpp" #include "storage/storage_config.hpp"
#include <chrono>
#include <filesystem>
#include <string>
namespace osrm::updater namespace osrm::updater
{ {
@ -59,7 +58,7 @@ struct UpdaterConfig final : storage::IOConfig
{ {
} }
void UseDefaultOutputNames(const boost::filesystem::path &base) void UseDefaultOutputNames(const std::filesystem::path &base)
{ {
IOConfig::UseDefaultOutputNames(base); IOConfig::UseDefaultOutputNames(base);
} }

View File

@ -8,7 +8,7 @@ extern "C"
#include <lualib.h> #include <lualib.h>
} }
#include <boost/filesystem.hpp> #include <filesystem>
#include <string> #include <string>
@ -20,7 +20,7 @@ namespace osrm::util
// See http://lua-users.org/wiki/PackagePath for details on the package.path syntax. // See http://lua-users.org/wiki/PackagePath for details on the package.path syntax.
inline void luaAddScriptFolderToLoadPath(lua_State *lua_state, const char *file_name) inline void luaAddScriptFolderToLoadPath(lua_State *lua_state, const char *file_name)
{ {
boost::filesystem::path profile_path = boost::filesystem::canonical(file_name); std::filesystem::path profile_path = std::filesystem::canonical(file_name);
std::string folder = profile_path.parent_path().generic_string(); std::string folder = profile_path.parent_path().generic_string();
const std::string lua_code = "package.path = \"" + folder + "/?.lua;\" .. package.path"; const std::string lua_code = "package.path = \"" + folder + "/?.lua;\" .. package.path";
luaL_dostring(lua_state, lua_code.c_str()); luaL_dostring(lua_state, lua_code.c_str());

View File

@ -5,20 +5,22 @@
#include "util/exception_utils.hpp" #include "util/exception_utils.hpp"
#include "util/vector_view.hpp" #include "util/vector_view.hpp"
#include <boost/filesystem/path.hpp>
#include <boost/iostreams/device/mapped_file.hpp> #include <boost/iostreams/device/mapped_file.hpp>
#include <filesystem>
namespace osrm::util namespace osrm::util
{ {
namespace detail namespace detail
{ {
template <typename T, typename MmapContainerT> template <typename T, typename MmapContainerT>
util::vector_view<T> mmapFile(const boost::filesystem::path &file, MmapContainerT &mmap_container) util::vector_view<T> mmapFile(const std::filesystem::path &file, MmapContainerT &mmap_container)
{ {
try try
{ {
mmap_container.open(file); auto path_string = file.string();
mmap_container.open(path_string);
std::size_t num_objects = mmap_container.size() / sizeof(T); std::size_t num_objects = mmap_container.size() / sizeof(T);
auto data_ptr = mmap_container.data(); auto data_ptr = mmap_container.data();
BOOST_ASSERT(reinterpret_cast<uintptr_t>(data_ptr) % alignof(T) == 0); BOOST_ASSERT(reinterpret_cast<uintptr_t>(data_ptr) % alignof(T) == 0);
@ -33,9 +35,8 @@ util::vector_view<T> mmapFile(const boost::filesystem::path &file, MmapContainer
} }
template <typename T, typename MmapContainerT> template <typename T, typename MmapContainerT>
util::vector_view<T> mmapFile(const boost::filesystem::path &file, util::vector_view<T>
MmapContainerT &mmap_container, mmapFile(const std::filesystem::path &file, MmapContainerT &mmap_container, const std::size_t size)
const std::size_t size)
{ {
try try
{ {
@ -61,21 +62,21 @@ util::vector_view<T> mmapFile(const boost::filesystem::path &file,
} // namespace detail } // namespace detail
template <typename T> template <typename T>
util::vector_view<const T> mmapFile(const boost::filesystem::path &file, util::vector_view<const T> mmapFile(const std::filesystem::path &file,
boost::iostreams::mapped_file_source &mmap_container) boost::iostreams::mapped_file_source &mmap_container)
{ {
return detail::mmapFile<const T>(file, mmap_container); return detail::mmapFile<const T>(file, mmap_container);
} }
template <typename T> template <typename T>
util::vector_view<T> mmapFile(const boost::filesystem::path &file, util::vector_view<T> mmapFile(const std::filesystem::path &file,
boost::iostreams::mapped_file &mmap_container) boost::iostreams::mapped_file &mmap_container)
{ {
return detail::mmapFile<T>(file, mmap_container); return detail::mmapFile<T>(file, mmap_container);
} }
template <typename T> template <typename T>
util::vector_view<T> mmapFile(const boost::filesystem::path &file, util::vector_view<T> mmapFile(const std::filesystem::path &file,
boost::iostreams::mapped_file &mmap_container, boost::iostreams::mapped_file &mmap_container,
std::size_t size) std::size_t size)
{ {

View File

@ -15,7 +15,7 @@ namespace osrm::util
using DataRange = std::pair<const char *, const char *>; using DataRange = std::pair<const char *, const char *>;
using DataMap = std::unordered_map<std::string, DataRange>; using DataMap = std::unordered_map<std::string, DataRange>;
inline DataMap mmapTarFile(const boost::filesystem::path &path, inline DataMap mmapTarFile(const std::filesystem::path &path,
boost::iostreams::mapped_file_source &region) boost::iostreams::mapped_file_source &region)
{ {
DataMap map; DataMap map;

View File

@ -20,7 +20,6 @@
#include "storage/shared_memory_ownership.hpp" #include "storage/shared_memory_ownership.hpp"
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <boost/filesystem.hpp>
#include <boost/format.hpp> #include <boost/format.hpp>
#include <boost/iostreams/device/mapped_file.hpp> #include <boost/iostreams/device/mapped_file.hpp>
@ -30,6 +29,7 @@
#include <algorithm> #include <algorithm>
#include <array> #include <array>
#include <filesystem>
#include <limits> #include <limits>
#include <memory> #include <memory>
#include <queue> #include <queue>
@ -271,7 +271,7 @@ class StaticRTree
// Construct a packed Hilbert-R-Tree with Kamel-Faloutsos algorithm [1] // Construct a packed Hilbert-R-Tree with Kamel-Faloutsos algorithm [1]
explicit StaticRTree(const std::vector<EdgeDataT> &input_data_vector, explicit StaticRTree(const std::vector<EdgeDataT> &input_data_vector,
const Vector<Coordinate> &coordinate_list, const Vector<Coordinate> &coordinate_list,
const boost::filesystem::path &on_disk_file_name) const std::filesystem::path &on_disk_file_name)
: m_coordinate_list(coordinate_list.data(), coordinate_list.size()) : m_coordinate_list(coordinate_list.data(), coordinate_list.size())
{ {
const auto element_count = input_data_vector.size(); const auto element_count = input_data_vector.size();
@ -458,7 +458,7 @@ class StaticRTree
* Constructs an empty RTree for de-serialization. * Constructs an empty RTree for de-serialization.
*/ */
template <typename = std::enable_if<Ownership == storage::Ownership::Container>> template <typename = std::enable_if<Ownership == storage::Ownership::Container>>
explicit StaticRTree(const boost::filesystem::path &on_disk_file_name, explicit StaticRTree(const std::filesystem::path &on_disk_file_name,
const Vector<Coordinate> &coordinate_list) const Vector<Coordinate> &coordinate_list)
: m_coordinate_list(coordinate_list.data(), coordinate_list.size()), : m_coordinate_list(coordinate_list.data(), coordinate_list.size()),
m_objects(mmapFile<EdgeDataT>(on_disk_file_name, m_objects_region)) m_objects(mmapFile<EdgeDataT>(on_disk_file_name, m_objects_region))
@ -473,7 +473,7 @@ class StaticRTree
*/ */
explicit StaticRTree(Vector<TreeNode> search_tree_, explicit StaticRTree(Vector<TreeNode> search_tree_,
Vector<std::uint64_t> tree_level_starts, Vector<std::uint64_t> tree_level_starts,
const boost::filesystem::path &on_disk_file_name, const std::filesystem::path &on_disk_file_name,
const Vector<Coordinate> &coordinate_list) const Vector<Coordinate> &coordinate_list)
: m_search_tree(std::move(search_tree_)), : m_search_tree(std::move(search_tree_)),
m_coordinate_list(coordinate_list.data(), coordinate_list.size()), m_coordinate_list(coordinate_list.data(), coordinate_list.size()),

View File

@ -3,13 +3,13 @@
#include "util/log.hpp" #include "util/log.hpp"
#include <boost/filesystem/path.hpp>
#include <boost/geometry.hpp> #include <boost/geometry.hpp>
#include <boost/geometry/index/rtree.hpp> #include <boost/geometry/index/rtree.hpp>
#include <rapidjson/document.h> #include <rapidjson/document.h>
#include <chrono> #include <chrono>
#include <filesystem>
#include <optional> #include <optional>
namespace osrm::updater namespace osrm::updater
@ -32,7 +32,7 @@ class Timezoner
Timezoner() = default; Timezoner() = default;
Timezoner(const char geojson[], std::time_t utc_time_now); Timezoner(const char geojson[], std::time_t utc_time_now);
Timezoner(const boost::filesystem::path &tz_shapes_filename, std::time_t utc_time_now); Timezoner(const std::filesystem::path &tz_shapes_filename, std::time_t utc_time_now);
std::optional<struct tm> operator()(const point_t &point) const; std::optional<struct tm> operator()(const point_t &point) const;

View File

@ -0,0 +1,96 @@
@ECHO OFF
SETLOCAL
SET EL=0
ECHO NUMBER_OF_PROCESSORS^: %NUMBER_OF_PROCESSORS%
SET PROJECT_DIR=%CD%
SET CONFIGURATION=Release
mkdir build
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
cd build
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
cmake -DENABLE_CONAN=ON -DENABLE_NODE_BINDINGS=ON -DCMAKE_BUILD_TYPE=%CONFIGURATION% -G "Visual Studio 17 2022" ..
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
msbuild OSRM.sln ^
/p:Configuration=%CONFIGURATION% ^
/p:Platform=x64 ^
/p:nowarn="4244;4267;4365;4456;4514;4625;4626;4710;4711;4820;5026;5027" ^
/t:rebuild ^
/p:BuildInParallel=true ^
/m:%NUMBER_OF_PROCESSORS% ^
/toolsversion:Current ^
/clp:Verbosity=quiet ^
/nologo
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
CD %PROJECT_DIR%\build
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running extractor-tests.exe ...
unit_tests\%CONFIGURATION%\extractor-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running contractor-tests.exe ...
unit_tests\%CONFIGURATION%\contractor-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running engine-tests.exe ...
unit_tests\%CONFIGURATION%\engine-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running util-tests.exe ...
unit_tests\%CONFIGURATION%\util-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running server-tests.exe ...
unit_tests\%CONFIGURATION%\server-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running partitioner-tests.exe ...
unit_tests\%CONFIGURATION%\partitioner-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
ECHO running customizer-tests.exe ...
unit_tests\%CONFIGURATION%\customizer-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
SET test_region=monaco
SET test_region_ch=ch\monaco
SET test_region_corech=corech\monaco
SET test_region_mld=mld\monaco
SET test_osm=%test_region%.osm.pbf
COPY %PROJECT_DIR%\test\data\%test_region%.osm.pbf %test_osm%
%CONFIGURATION%\osrm-extract.exe -p %PROJECT_DIR%\profiles\car.lua %test_osm%
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
MKDIR ch
XCOPY %test_region%.osrm.* ch\
XCOPY %test_region%.osrm ch\
MKDIR corech
XCOPY %test_region%.osrm.* corech\
XCOPY %test_region%.osrm corech\
MKDIR mld
XCOPY %test_region%.osrm.* mld\
XCOPY %test_region%.osrm mld\
%CONFIGURATION%\osrm-contract.exe %test_region_ch%.osrm
%CONFIGURATION%\osrm-contract.exe --core 0.8 %test_region_corech%.osrm
%CONFIGURATION%\osrm-partition.exe %test_region_mld%.osrm
%CONFIGURATION%\osrm-customize.exe %test_region_mld%.osrm
XCOPY /Y ch\*.* ..\test\data\ch\
XCOPY /Y corech\*.* ..\test\data\corech\
XCOPY /Y mld\*.* ..\test\data\mld\
unit_tests\%CONFIGURATION%\library-tests.exe
IF %ERRORLEVEL% NEQ 0 GOTO ERROR
:ERROR
ECHO ~~~~~~~~~~~~~~~~~~~~~~ ERROR %~f0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ECHO ERRORLEVEL^: %ERRORLEVEL%
SET EL=%ERRORLEVEL%
:DONE
ECHO ~~~~~~~~~~~~~~~~~~~~~~ DONE %~f0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
EXIT /b %EL%

View File

@ -11,11 +11,10 @@
#include "util/serialization.hpp" #include "util/serialization.hpp"
#include "util/timing_util.hpp" #include "util/timing_util.hpp"
#include <fstream>
#include <iostream> #include <iostream>
#include <random> #include <random>
#include <boost/filesystem/fstream.hpp>
namespace osrm::benchmarks namespace osrm::benchmarks
{ {

View File

@ -44,7 +44,7 @@ MMapMemoryAllocator::MMapMemoryAllocator(const storage::StorageConfig &config)
for (const auto &file : files) for (const auto &file : files)
{ {
if (boost::filesystem::exists(file.second)) if (std::filesystem::exists(file.second))
{ {
std::unique_ptr<storage::BaseDataLayout> layout = std::unique_ptr<storage::BaseDataLayout> layout =
std::make_unique<storage::TarDataLayout>(); std::make_unique<storage::TarDataLayout>();

View File

@ -2,10 +2,11 @@
#include "util/log.hpp" #include "util/log.hpp"
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/numeric/conversion/cast.hpp> #include <boost/numeric/conversion/cast.hpp>
#include <filesystem>
#include <fstream>
#include <iostream>
#include <limits> #include <limits>
#include <string> #include <string>

View File

@ -7,17 +7,17 @@
#include <rapidjson/error/en.h> #include <rapidjson/error/en.h>
#include <rapidjson/istreamwrapper.h> #include <rapidjson/istreamwrapper.h>
#include <boost/filesystem.hpp>
#include <boost/geometry/algorithms/equals.hpp> #include <boost/geometry/algorithms/equals.hpp>
#include <boost/iterator/function_output_iterator.hpp> #include <boost/iterator/function_output_iterator.hpp>
#include <filesystem>
#include <fstream> #include <fstream>
#include <string> #include <string>
namespace osrm::extractor namespace osrm::extractor
{ {
LocationDependentData::LocationDependentData(const std::vector<boost::filesystem::path> &file_paths) LocationDependentData::LocationDependentData(const std::vector<std::filesystem::path> &file_paths)
{ {
std::vector<rtree_t::value_type> bounding_boxes; std::vector<rtree_t::value_type> bounding_boxes;
for (const auto &path : file_paths) for (const auto &path : file_paths)
@ -32,12 +32,12 @@ LocationDependentData::LocationDependentData(const std::vector<boost::filesystem
} }
void LocationDependentData::loadLocationDependentData( void LocationDependentData::loadLocationDependentData(
const boost::filesystem::path &file_path, std::vector<rtree_t::value_type> &bounding_boxes) const std::filesystem::path &file_path, std::vector<rtree_t::value_type> &bounding_boxes)
{ {
if (file_path.empty()) if (file_path.empty())
return; return;
if (!boost::filesystem::exists(file_path) || !boost::filesystem::is_regular_file(file_path)) if (!std::filesystem::exists(file_path) || !std::filesystem::is_regular_file(file_path))
{ {
throw osrm::util::exception(std::string("File with location-dependent data ") + throw osrm::util::exception(std::string("File with location-dependent data ") +
file_path.string() + " does not exists"); file_path.string() + " does not exists");

View File

@ -103,8 +103,8 @@ int RasterContainer::LoadRasterSource(const std::string &path_string,
util::Log() << "[source loader] Loading from " << path_string << " ... "; util::Log() << "[source loader] Loading from " << path_string << " ... ";
TIMER_START(loading_source); TIMER_START(loading_source);
boost::filesystem::path filepath(path_string); std::filesystem::path filepath(path_string);
if (!boost::filesystem::exists(filepath)) if (!std::filesystem::exists(filepath))
{ {
throw util::RuntimeError( throw util::RuntimeError(
path_string, ErrorCode::FileOpenError, SOURCE_REF, "File not found"); path_string, ErrorCode::FileOpenError, SOURCE_REF, "File not found");

View File

@ -113,7 +113,7 @@ void handle_lua_error(const sol::protected_function_result &luares)
Sol2ScriptingEnvironment::Sol2ScriptingEnvironment( Sol2ScriptingEnvironment::Sol2ScriptingEnvironment(
const std::string &file_name, const std::string &file_name,
const std::vector<boost::filesystem::path> &location_dependent_data_paths) const std::vector<std::filesystem::path> &location_dependent_data_paths)
: file_name(file_name), location_dependent_data(location_dependent_data_paths) : file_name(file_name), location_dependent_data(location_dependent_data_paths)
{ {
util::Log() << "Using script " << file_name; util::Log() << "Using script " << file_name;

View File

@ -19,16 +19,15 @@
#include "util/json_container.hpp" #include "util/json_container.hpp"
#include "util/log.hpp" #include "util/log.hpp"
#include "util/mmap_file.hpp" #include "util/mmap_file.hpp"
#include "util/timing_util.hpp"
#include <algorithm>
#include <iterator>
#include <vector>
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <boost/filesystem/operations.hpp>
#include <tbb/global_control.h> #include <tbb/global_control.h>
#include "util/timing_util.hpp" #include <algorithm>
#include <filesystem>
#include <iterator>
#include <vector>
namespace osrm::partitioner namespace osrm::partitioner
{ {
@ -171,11 +170,11 @@ int Partitioner::Run(const PartitionerConfig &config)
extractor::files::writeManeuverOverrides(filename, maneuver_overrides, node_sequences); extractor::files::writeManeuverOverrides(filename, maneuver_overrides, node_sequences);
} }
if (boost::filesystem::exists(config.GetPath(".osrm.hsgr"))) if (std::filesystem::exists(config.GetPath(".osrm.hsgr")))
{ {
util::Log(logWARNING) << "Found existing .osrm.hsgr file, removing. You need to re-run " util::Log(logWARNING) << "Found existing .osrm.hsgr file, removing. You need to re-run "
"osrm-contract after osrm-partition."; "osrm-contract after osrm-partition.";
boost::filesystem::remove(config.GetPath(".osrm.hsgr")); std::filesystem::remove(config.GetPath(".osrm.hsgr"));
} }
TIMER_STOP(renumber); TIMER_STOP(renumber);
util::Log() << "Renumbered data in " << TIMER_SEC(renumber) << " seconds"; util::Log() << "Renumbered data in " << TIMER_SEC(renumber) << " seconds";

View File

@ -2,14 +2,12 @@
#include "util/log.hpp" #include "util/log.hpp"
#include <boost/filesystem.hpp> #include <filesystem>
#include <boost/filesystem/operations.hpp>
#include <boost/filesystem/path.hpp>
namespace osrm::storage namespace osrm::storage
{ {
namespace fs = boost::filesystem; namespace fs = std::filesystem;
bool IOConfig::IsValid() const bool IOConfig::IsValid() const
{ {

View File

@ -23,13 +23,11 @@
#endif #endif
#include <boost/date_time/posix_time/posix_time.hpp> #include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include <boost/interprocess/sync/file_lock.hpp> #include <boost/interprocess/sync/file_lock.hpp>
#include <boost/interprocess/sync/scoped_lock.hpp> #include <boost/interprocess/sync/scoped_lock.hpp>
#include <cstdint> #include <cstdint>
#include <filesystem>
#include <fstream> #include <fstream>
#include <iterator> #include <iterator>
#include <new> #include <new>
@ -164,7 +162,7 @@ bool swapData(Monitor &monitor,
} }
} // namespace } // namespace
void populateLayoutFromFile(const boost::filesystem::path &path, storage::BaseDataLayout &layout) void populateLayoutFromFile(const std::filesystem::path &path, storage::BaseDataLayout &layout)
{ {
tar::FileReader reader(path, tar::FileReader::VerifyFingerprint); tar::FileReader reader(path, tar::FileReader::VerifyFingerprint);
@ -190,11 +188,11 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric
util::LogPolicy::GetInstance().Unmute(); util::LogPolicy::GetInstance().Unmute();
boost::filesystem::path lock_path = std::filesystem::path lock_path =
boost::filesystem::temp_directory_path() / "osrm-datastore.lock"; std::filesystem::temp_directory_path() / "osrm-datastore.lock";
if (!boost::filesystem::exists(lock_path)) if (!std::filesystem::exists(lock_path))
{ {
boost::filesystem::ofstream ofs(lock_path); std::ofstream ofs(lock_path);
} }
boost::interprocess::file_lock file_lock(lock_path.string().c_str()); boost::interprocess::file_lock file_lock(lock_path.string().c_str());
@ -257,7 +255,7 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric
std::unique_ptr<storage::BaseDataLayout> static_layout = std::unique_ptr<storage::BaseDataLayout> static_layout =
std::make_unique<storage::ContiguousDataLayout>(); std::make_unique<storage::ContiguousDataLayout>();
Storage::PopulateLayoutWithRTree(*static_layout); Storage::PopulateLayoutWithRTree(*static_layout);
std::vector<std::pair<bool, boost::filesystem::path>> files = Storage::GetStaticFiles(); std::vector<std::pair<bool, std::filesystem::path>> files = Storage::GetStaticFiles();
Storage::PopulateLayout(*static_layout, files); Storage::PopulateLayout(*static_layout, files);
auto static_handle = setupRegion(shared_register, *static_layout); auto static_handle = setupRegion(shared_register, *static_layout);
regions.push_back({static_handle.data_ptr, std::move(static_layout)}); regions.push_back({static_handle.data_ptr, std::move(static_layout)});
@ -266,7 +264,7 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric
std::unique_ptr<storage::BaseDataLayout> updatable_layout = std::unique_ptr<storage::BaseDataLayout> updatable_layout =
std::make_unique<storage::ContiguousDataLayout>(); std::make_unique<storage::ContiguousDataLayout>();
std::vector<std::pair<bool, boost::filesystem::path>> files = Storage::GetUpdatableFiles(); std::vector<std::pair<bool, std::filesystem::path>> files = Storage::GetUpdatableFiles();
Storage::PopulateLayout(*updatable_layout, files); Storage::PopulateLayout(*updatable_layout, files);
auto updatable_handle = setupRegion(shared_register, *updatable_layout); auto updatable_handle = setupRegion(shared_register, *updatable_layout);
regions.push_back({updatable_handle.data_ptr, std::move(updatable_layout)}); regions.push_back({updatable_handle.data_ptr, std::move(updatable_layout)});
@ -285,12 +283,12 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }
std::vector<std::pair<bool, boost::filesystem::path>> Storage::GetStaticFiles() std::vector<std::pair<bool, std::filesystem::path>> Storage::GetStaticFiles()
{ {
constexpr bool IS_REQUIRED = true; constexpr bool IS_REQUIRED = true;
constexpr bool IS_OPTIONAL = false; constexpr bool IS_OPTIONAL = false;
std::vector<std::pair<bool, boost::filesystem::path>> files = { std::vector<std::pair<bool, std::filesystem::path>> files = {
{IS_OPTIONAL, config.GetPath(".osrm.cells")}, {IS_OPTIONAL, config.GetPath(".osrm.cells")},
{IS_OPTIONAL, config.GetPath(".osrm.partition")}, {IS_OPTIONAL, config.GetPath(".osrm.partition")},
{IS_REQUIRED, config.GetPath(".osrm.ebg_nodes")}, {IS_REQUIRED, config.GetPath(".osrm.ebg_nodes")},
@ -310,7 +308,7 @@ std::vector<std::pair<bool, boost::filesystem::path>> Storage::GetStaticFiles()
for (const auto &file : files) for (const auto &file : files)
{ {
if (file.first == IS_REQUIRED && !boost::filesystem::exists(file.second)) if (file.first == IS_REQUIRED && !std::filesystem::exists(file.second))
{ {
throw util::exception("Could not find required file(s): " + std::get<1>(file).string()); throw util::exception("Could not find required file(s): " + std::get<1>(file).string());
} }
@ -319,12 +317,12 @@ std::vector<std::pair<bool, boost::filesystem::path>> Storage::GetStaticFiles()
return files; return files;
} }
std::vector<std::pair<bool, boost::filesystem::path>> Storage::GetUpdatableFiles() std::vector<std::pair<bool, std::filesystem::path>> Storage::GetUpdatableFiles()
{ {
constexpr bool IS_REQUIRED = true; constexpr bool IS_REQUIRED = true;
constexpr bool IS_OPTIONAL = false; constexpr bool IS_OPTIONAL = false;
std::vector<std::pair<bool, boost::filesystem::path>> files = { std::vector<std::pair<bool, std::filesystem::path>> files = {
{IS_OPTIONAL, config.GetPath(".osrm.mldgr")}, {IS_OPTIONAL, config.GetPath(".osrm.mldgr")},
{IS_OPTIONAL, config.GetPath(".osrm.cell_metrics")}, {IS_OPTIONAL, config.GetPath(".osrm.cell_metrics")},
{IS_OPTIONAL, config.GetPath(".osrm.hsgr")}, {IS_OPTIONAL, config.GetPath(".osrm.hsgr")},
@ -335,7 +333,7 @@ std::vector<std::pair<bool, boost::filesystem::path>> Storage::GetUpdatableFiles
for (const auto &file : files) for (const auto &file : files)
{ {
if (file.first == IS_REQUIRED && !boost::filesystem::exists(file.second)) if (file.first == IS_REQUIRED && !std::filesystem::exists(file.second))
{ {
throw util::exception("Could not find required file(s): " + std::get<1>(file).string()); throw util::exception("Could not find required file(s): " + std::get<1>(file).string());
} }
@ -347,9 +345,9 @@ std::vector<std::pair<bool, boost::filesystem::path>> Storage::GetUpdatableFiles
std::string Storage::PopulateLayoutWithRTree(storage::BaseDataLayout &layout) std::string Storage::PopulateLayoutWithRTree(storage::BaseDataLayout &layout)
{ {
// Figure out the path to the rtree file (it's not a tar file) // Figure out the path to the rtree file (it's not a tar file)
auto absolute_file_index_path = boost::filesystem::absolute(config.GetPath(".osrm.fileIndex")); auto absolute_file_index_path = std::filesystem::absolute(config.GetPath(".osrm.fileIndex"));
// Convert the boost::filesystem::path object into a plain string // Convert the std::filesystem::path object into a plain string
// that can then be stored as a member of an allocator object // that can then be stored as a member of an allocator object
auto rtree_filename = absolute_file_index_path.string(); auto rtree_filename = absolute_file_index_path.string();
@ -366,11 +364,11 @@ std::string Storage::PopulateLayoutWithRTree(storage::BaseDataLayout &layout)
* in that big block. It updates the fields in the layout parameter. * in that big block. It updates the fields in the layout parameter.
*/ */
void Storage::PopulateLayout(storage::BaseDataLayout &layout, void Storage::PopulateLayout(storage::BaseDataLayout &layout,
const std::vector<std::pair<bool, boost::filesystem::path>> &files) const std::vector<std::pair<bool, std::filesystem::path>> &files)
{ {
for (const auto &file : files) for (const auto &file : files)
{ {
if (boost::filesystem::exists(file.second)) if (std::filesystem::exists(file.second))
{ {
populateLayoutFromFile(file.second, layout); populateLayoutFromFile(file.second, layout);
} }
@ -389,7 +387,7 @@ void Storage::PopulateStaticData(const SharedDataIndex &index)
file_index_path_ptr + index.GetBlockSize("/common/rtree/file_index_path"), file_index_path_ptr + index.GetBlockSize("/common/rtree/file_index_path"),
0); 0);
const auto absolute_file_index_path = const auto absolute_file_index_path =
boost::filesystem::absolute(config.GetPath(".osrm.fileIndex")).string(); std::filesystem::absolute(config.GetPath(".osrm.fileIndex")).string();
BOOST_ASSERT(static_cast<std::size_t>(index.GetBlockSize( BOOST_ASSERT(static_cast<std::size_t>(index.GetBlockSize(
"/common/rtree/file_index_path")) >= absolute_file_index_path.size()); "/common/rtree/file_index_path")) >= absolute_file_index_path.size());
std::copy( std::copy(
@ -482,13 +480,13 @@ void Storage::PopulateStaticData(const SharedDataIndex &index)
metric_name = profile_properties_ptr->GetWeightName(); metric_name = profile_properties_ptr->GetWeightName();
} }
if (boost::filesystem::exists(config.GetPath(".osrm.partition"))) if (std::filesystem::exists(config.GetPath(".osrm.partition")))
{ {
auto mlp = make_partition_view(index, "/mld/multilevelpartition"); auto mlp = make_partition_view(index, "/mld/multilevelpartition");
partitioner::files::readPartition(config.GetPath(".osrm.partition"), mlp); partitioner::files::readPartition(config.GetPath(".osrm.partition"), mlp);
} }
if (boost::filesystem::exists(config.GetPath(".osrm.cells"))) if (std::filesystem::exists(config.GetPath(".osrm.cells")))
{ {
auto storage = make_cell_storage_view(index, "/mld/cellstorage"); auto storage = make_cell_storage_view(index, "/mld/cellstorage");
partitioner::files::readCells(config.GetPath(".osrm.cells"), storage); partitioner::files::readCells(config.GetPath(".osrm.cells"), storage);
@ -541,7 +539,7 @@ void Storage::PopulateUpdatableData(const SharedDataIndex &index)
metric_name = properties.GetWeightName(); metric_name = properties.GetWeightName();
} }
if (boost::filesystem::exists(config.GetPath(".osrm.hsgr"))) if (std::filesystem::exists(config.GetPath(".osrm.hsgr")))
{ {
const std::string metric_prefix = "/ch/metrics/" + metric_name; const std::string metric_prefix = "/ch/metrics/" + metric_name;
auto contracted_metric = make_contracted_metric_view(index, metric_prefix); auto contracted_metric = make_contracted_metric_view(index, metric_prefix);
@ -567,7 +565,7 @@ void Storage::PopulateUpdatableData(const SharedDataIndex &index)
} }
} }
if (boost::filesystem::exists(config.GetPath(".osrm.cell_metrics"))) if (std::filesystem::exists(config.GetPath(".osrm.cell_metrics")))
{ {
auto exclude_metrics = make_cell_metric_view(index, "/mld/metrics/" + metric_name); auto exclude_metrics = make_cell_metric_view(index, "/mld/metrics/" + metric_name);
std::unordered_map<std::string, std::vector<customizer::CellMetricView>> metrics = { std::unordered_map<std::string, std::vector<customizer::CellMetricView>> metrics = {
@ -576,7 +574,7 @@ void Storage::PopulateUpdatableData(const SharedDataIndex &index)
customizer::files::readCellMetrics(config.GetPath(".osrm.cell_metrics"), metrics); customizer::files::readCellMetrics(config.GetPath(".osrm.cell_metrics"), metrics);
} }
if (boost::filesystem::exists(config.GetPath(".osrm.mldgr"))) if (std::filesystem::exists(config.GetPath(".osrm.mldgr")))
{ {
auto graph_view = make_multi_level_graph_view(index, "/mld/multilevelgraph"); auto graph_view = make_multi_level_graph_view(index, "/mld/multilevelgraph");
std::uint32_t graph_connectivity_checksum = 0; std::uint32_t graph_connectivity_checksum = 0;

View File

@ -10,7 +10,6 @@
#include "util/tarjan_scc.hpp" #include "util/tarjan_scc.hpp"
#include "util/typedefs.hpp" #include "util/typedefs.hpp"
#include <boost/filesystem.hpp>
#include <boost/iterator/function_output_iterator.hpp> #include <boost/iterator/function_output_iterator.hpp>
#include <tbb/parallel_sort.h> #include <tbb/parallel_sort.h>
@ -19,6 +18,7 @@
#include <cstdlib> #include <cstdlib>
#include <algorithm> #include <algorithm>
#include <filesystem>
#include <fstream> #include <fstream>
#include <memory> #include <memory>
#include <ostream> #include <ostream>
@ -118,7 +118,7 @@ int main(int argc, char *argv[])
const std::string inpath{argv[1]}; const std::string inpath{argv[1]};
const std::string outpath{argv[2]}; const std::string outpath{argv[2]};
if (boost::filesystem::exists(outpath)) if (std::filesystem::exists(outpath))
{ {
util::Log(logWARNING) << "Components file " << outpath << " already exists"; util::Log(logWARNING) << "Components file " << outpath << " already exists";
return EXIT_FAILURE; return EXIT_FAILURE;

View File

@ -6,12 +6,12 @@
#include "util/timezones.hpp" #include "util/timezones.hpp"
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <boost/program_options/errors.hpp> #include <boost/program_options/errors.hpp>
#include <cstdlib> #include <cstdlib>
#include <exception> #include <exception>
#include <filesystem>
#include <new> #include <new>
#include <ostream> #include <ostream>
#include <thread> #include <thread>
@ -86,7 +86,7 @@ return_code parseArguments(int argc,
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");
hidden_options.add_options()( hidden_options.add_options()(
"input,i", "input,i",
boost::program_options::value<boost::filesystem::path>(&contractor_config.base_path), boost::program_options::value<std::filesystem::path>(&contractor_config.base_path),
"Input file in .osm, .osm.bz2 or .osm.pbf format"); "Input file in .osm, .osm.bz2 or .osm.pbf format");
// positional option // positional option
@ -99,7 +99,7 @@ return_code parseArguments(int argc,
const auto *executable = argv[0]; const auto *executable = argv[0];
boost::program_options::options_description visible_options( boost::program_options::options_description visible_options(
"Usage: " + boost::filesystem::path(executable).filename().string() + "Usage: " + std::filesystem::path(executable).filename().string() +
" <input.osrm> [options]"); " <input.osrm> [options]");
visible_options.add(generic_options).add(config_options); visible_options.add(generic_options).add(config_options);

View File

@ -5,9 +5,9 @@
#include "util/meminfo.hpp" #include "util/meminfo.hpp"
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <filesystem>
#include <iostream> #include <iostream>
#include <thread> #include <thread>
@ -76,7 +76,7 @@ return_code parseArguments(int argc,
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");
hidden_options.add_options()( hidden_options.add_options()(
"input,i", "input,i",
boost::program_options::value<boost::filesystem::path>(&customization_config.base_path), boost::program_options::value<std::filesystem::path>(&customization_config.base_path),
"Input base file path"); "Input base file path");
// positional option // positional option
@ -89,7 +89,7 @@ return_code parseArguments(int argc,
const auto *executable = argv[0]; const auto *executable = argv[0];
boost::program_options::options_description visible_options( boost::program_options::options_description visible_options(
boost::filesystem::path(executable).filename().string() + " <input.osrm> [options]"); std::filesystem::path(executable).filename().string() + " <input.osrm> [options]");
visible_options.add(generic_options).add(config_options); visible_options.add(generic_options).add(config_options);
// parse command line options // parse command line options

View File

@ -2,19 +2,17 @@
#include "osrm/extractor.hpp" #include "osrm/extractor.hpp"
#include "osrm/extractor_config.hpp" #include "osrm/extractor_config.hpp"
#include "util/log.hpp" #include "util/log.hpp"
#include "util/meminfo.hpp"
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <cstdlib> #include <cstdlib>
#include <exception> #include <exception>
#include <filesystem>
#include <iostream> #include <iostream>
#include <new> #include <new>
#include <thread> #include <thread>
#include "util/meminfo.hpp"
using namespace osrm; using namespace osrm;
enum class return_code : unsigned enum class return_code : unsigned
@ -40,7 +38,7 @@ return_code parseArguments(int argc,
boost::program_options::options_description config_options("Configuration"); boost::program_options::options_description config_options("Configuration");
config_options.add_options()( config_options.add_options()(
"profile,p", "profile,p",
boost::program_options::value<boost::filesystem::path>(&extractor_config.profile_path) boost::program_options::value<std::filesystem::path>(&extractor_config.profile_path)
->default_value("profiles/car.lua"), ->default_value("profiles/car.lua"),
"Path to LUA routing profile")( "Path to LUA routing profile")(
"data_version,d", "data_version,d",
@ -67,7 +65,7 @@ return_code parseArguments(int argc,
->default_value(false), ->default_value(false),
"Save conditional restrictions found during extraction to disk for use " "Save conditional restrictions found during extraction to disk for use "
"during contraction")("location-dependent-data", "during contraction")("location-dependent-data",
boost::program_options::value<std::vector<boost::filesystem::path>>( boost::program_options::value<std::vector<std::filesystem::path>>(
&extractor_config.location_dependent_data_paths) &extractor_config.location_dependent_data_paths)
->composing(), ->composing(),
"GeoJSON files with location-dependent data")( "GeoJSON files with location-dependent data")(
@ -88,7 +86,7 @@ return_code parseArguments(int argc,
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");
hidden_options.add_options()( hidden_options.add_options()(
"input,i", "input,i",
boost::program_options::value<boost::filesystem::path>(&extractor_config.input_path), boost::program_options::value<std::filesystem::path>(&extractor_config.input_path),
"Input file in .osm, .osm.bz2 or .osm.pbf format")( "Input file in .osm, .osm.bz2 or .osm.pbf format")(
"generate-edge-lookup", "generate-edge-lookup",
boost::program_options::bool_switch(&dummy)->implicit_value(true)->default_value(false), boost::program_options::bool_switch(&dummy)->implicit_value(true)->default_value(false),
@ -104,7 +102,7 @@ return_code parseArguments(int argc,
const auto *executable = argv[0]; const auto *executable = argv[0];
boost::program_options::options_description visible_options( boost::program_options::options_description visible_options(
boost::filesystem::path(executable).filename().string() + std::filesystem::path(executable).filename().string() +
" <input.osm/.osm.bz2/.osm.pbf> [options]"); " <input.osm/.osm.bz2/.osm.pbf> [options]");
visible_options.add(generic_options).add(config_options); visible_options.add(generic_options).add(config_options);
@ -176,14 +174,14 @@ try
return EXIT_FAILURE; return EXIT_FAILURE;
} }
if (!boost::filesystem::is_regular_file(extractor_config.input_path)) if (!std::filesystem::is_regular_file(extractor_config.input_path))
{ {
util::Log(logERROR) << "Input file " << extractor_config.input_path.string() util::Log(logERROR) << "Input file " << extractor_config.input_path.string()
<< " not found!"; << " not found!";
return EXIT_FAILURE; return EXIT_FAILURE;
} }
if (!boost::filesystem::is_regular_file(extractor_config.profile_path)) if (!std::filesystem::is_regular_file(extractor_config.profile_path))
{ {
util::Log(logERROR) << "Profile " << extractor_config.profile_path.string() util::Log(logERROR) << "Profile " << extractor_config.profile_path.string()
<< " not found!"; << " not found!";

View File

@ -3,9 +3,6 @@
#include "util/log.hpp" #include "util/log.hpp"
#include "util/timing_util.hpp" #include "util/timing_util.hpp"
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
#include <cmath> #include <cmath>
#include <cstdio> #include <cstdio>
#include <fcntl.h> #include <fcntl.h>
@ -15,6 +12,8 @@
#include <algorithm> #include <algorithm>
#include <chrono> #include <chrono>
#include <filesystem>
#include <fstream>
#include <iomanip> #include <iomanip>
#include <numeric> #include <numeric>
#include <random> #include <random>
@ -45,7 +44,7 @@ void runStatistics(std::vector<double> &timings_vector, Statistics &stats)
} }
} // namespace osrm::tools } // namespace osrm::tools
boost::filesystem::path test_path; std::filesystem::path test_path;
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
@ -66,7 +65,7 @@ int main(int argc, char *argv[])
return -1; return -1;
} }
test_path = boost::filesystem::path(argv[1]); test_path = std::filesystem::path(argv[1]);
test_path /= "osrm.tst"; test_path /= "osrm.tst";
osrm::util::Log(logDEBUG) << "temporary file: " << test_path.string(); osrm::util::Log(logDEBUG) << "temporary file: " << test_path.string();
@ -74,7 +73,7 @@ int main(int argc, char *argv[])
if (2 == argc) if (2 == argc)
{ {
// create file to test // create file to test
if (boost::filesystem::exists(test_path)) if (std::filesystem::exists(test_path))
{ {
throw osrm::util::exception("Data file already exists: " + test_path.string() + throw osrm::util::exception("Data file already exists: " + test_path.string() +
SOURCE_REF); SOURCE_REF);
@ -120,7 +119,7 @@ int main(int argc, char *argv[])
else else
{ {
// Run Non-Cached I/O benchmarks // Run Non-Cached I/O benchmarks
if (!boost::filesystem::exists(test_path)) if (!std::filesystem::exists(test_path))
{ {
throw osrm::util::exception("data file does not exist" + SOURCE_REF); throw osrm::util::exception("data file does not exist" + SOURCE_REF);
} }
@ -298,9 +297,9 @@ int main(int argc, char *argv[])
<< "max: " << stats.max << "ms, " << "max: " << stats.max << "ms, "
<< "dev: " << stats.dev << "ms"; << "dev: " << stats.dev << "ms";
if (boost::filesystem::exists(test_path)) if (std::filesystem::exists(test_path))
{ {
boost::filesystem::remove(test_path); std::filesystem::remove(test_path);
osrm::util::Log(logDEBUG) << "removing temporary files"; osrm::util::Log(logDEBUG) << "removing temporary files";
} }
} }

View File

@ -8,10 +8,10 @@
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/algorithm/string/join.hpp> #include <boost/algorithm/string/join.hpp>
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <boost/range/adaptor/transformed.hpp> #include <boost/range/adaptor/transformed.hpp>
#include <filesystem>
#include <iostream> #include <iostream>
#include <iterator> #include <iterator>
#include <regex> #include <regex>
@ -119,7 +119,7 @@ return_code parseArguments(int argc,
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");
hidden_options.add_options()( hidden_options.add_options()(
"input,i", "input,i",
boost::program_options::value<boost::filesystem::path>(&config.base_path), boost::program_options::value<std::filesystem::path>(&config.base_path),
"Input base file path"); "Input base file path");
// positional option // positional option
@ -132,7 +132,7 @@ return_code parseArguments(int argc,
const auto *executable = argv[0]; const auto *executable = argv[0];
boost::program_options::options_description visible_options( boost::program_options::options_description visible_options(
boost::filesystem::path(executable).filename().string() + " <input.osrm> [options]"); std::filesystem::path(executable).filename().string() + " <input.osrm> [options]");
visible_options.add(generic_options).add(config_options); visible_options.add(generic_options).add(config_options);
// parse command line options // parse command line options
@ -216,9 +216,9 @@ try
return EXIT_FAILURE; return EXIT_FAILURE;
} }
auto check_file = [](const boost::filesystem::path &path) auto check_file = [](const std::filesystem::path &path)
{ {
if (!boost::filesystem::is_regular_file(path)) if (!std::filesystem::is_regular_file(path))
{ {
util::Log(logERROR) << "Input file " << path << " not found!"; util::Log(logERROR) << "Input file " << path << " not found!";
return false; return false;

View File

@ -12,7 +12,6 @@
#include <boost/algorithm/string/case_conv.hpp> #include <boost/algorithm/string/case_conv.hpp>
#include <boost/any.hpp> #include <boost/any.hpp>
#include <boost/filesystem.hpp>
#include <boost/optional/optional_io.hpp> #include <boost/optional/optional_io.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
@ -22,6 +21,7 @@
#include <chrono> #include <chrono>
#include <exception> #include <exception>
#include <filesystem>
#include <future> #include <future>
#include <iostream> #include <iostream>
#include <new> #include <new>
@ -102,7 +102,7 @@ void validate(boost::any &v, const std::vector<std::string> &values, double *, d
// generate boost::program_options object for the routing part // generate boost::program_options object for the routing part
inline unsigned generateServerProgramOptions(const int argc, inline unsigned generateServerProgramOptions(const int argc,
const char *argv[], const char *argv[],
boost::filesystem::path &base_path, std::filesystem::path &base_path,
std::string &ip_address, std::string &ip_address,
int &ip_port, int &ip_port,
bool &trial, bool &trial,
@ -110,8 +110,8 @@ inline unsigned generateServerProgramOptions(const int argc,
int &requested_thread_num, int &requested_thread_num,
short &keepalive_timeout) short &keepalive_timeout)
{ {
using boost::filesystem::path;
using boost::program_options::value; using boost::program_options::value;
using std::filesystem::path;
const auto hardware_threads = std::max<int>(1, std::thread::hardware_concurrency()); const auto hardware_threads = std::max<int>(1, std::thread::hardware_concurrency());
@ -148,7 +148,7 @@ inline unsigned generateServerProgramOptions(const int argc,
value<bool>(&config.use_shared_memory)->implicit_value(true)->default_value(false), value<bool>(&config.use_shared_memory)->implicit_value(true)->default_value(false),
"Load data from shared memory") // "Load data from shared memory") //
("memory_file", ("memory_file",
value<boost::filesystem::path>(&config.memory_file), value<std::filesystem::path>(&config.memory_file),
"DEPRECATED: Will behave the same as --mmap.")( "DEPRECATED: Will behave the same as --mmap.")(
"mmap,m", "mmap,m",
value<bool>(&config.use_mmap)->implicit_value(true)->default_value(false), value<bool>(&config.use_mmap)->implicit_value(true)->default_value(false),
@ -192,7 +192,7 @@ inline unsigned generateServerProgramOptions(const int argc,
// hidden options, will be allowed on command line, but will not be shown to the user // hidden options, will be allowed on command line, but will not be shown to the user
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");
hidden_options.add_options()( hidden_options.add_options()(
"base,b", value<boost::filesystem::path>(&base_path), "base path to .osrm file"); "base,b", value<std::filesystem::path>(&base_path), "base path to .osrm file");
// positional option // positional option
boost::program_options::positional_options_description positional_options; boost::program_options::positional_options_description positional_options;
@ -204,7 +204,7 @@ inline unsigned generateServerProgramOptions(const int argc,
const auto *executable = argv[0]; const auto *executable = argv[0];
boost::program_options::options_description visible_options( boost::program_options::options_description visible_options(
boost::filesystem::path(executable).filename().string() + " <base.osrm> [<options>]"); std::filesystem::path(executable).filename().string() + " <base.osrm> [<options>]");
visible_options.add(generic_options).add(config_options); visible_options.add(generic_options).add(config_options);
// parse command line options // parse command line options
@ -267,7 +267,7 @@ try
int ip_port; int ip_port;
EngineConfig config; EngineConfig config;
boost::filesystem::path base_path; std::filesystem::path base_path;
int requested_thread_num = 1; int requested_thread_num = 1;
short keepalive_timeout = 5; short keepalive_timeout = 5;

View File

@ -11,11 +11,11 @@
#include "util/version.hpp" #include "util/version.hpp"
#include <boost/algorithm/string/case_conv.hpp> #include <boost/algorithm/string/case_conv.hpp>
#include <boost/filesystem.hpp>
#include <boost/program_options.hpp> #include <boost/program_options.hpp>
#include <csignal> #include <csignal>
#include <cstdlib> #include <cstdlib>
#include <filesystem>
using namespace osrm; using namespace osrm;
@ -97,7 +97,7 @@ void springClean()
bool generateDataStoreOptions(const int argc, bool generateDataStoreOptions(const int argc,
const char *argv[], const char *argv[],
std::string &verbosity, std::string &verbosity,
boost::filesystem::path &base_path, std::filesystem::path &base_path,
int &max_wait, int &max_wait,
std::string &dataset_name, std::string &dataset_name,
bool &list_datasets, bool &list_datasets,
@ -155,7 +155,7 @@ bool generateDataStoreOptions(const int argc,
// hidden options, will be allowed on command line but will not be shown to the user // hidden options, will be allowed on command line but will not be shown to the user
boost::program_options::options_description hidden_options("Hidden options"); boost::program_options::options_description hidden_options("Hidden options");
hidden_options.add_options()("base,b", hidden_options.add_options()("base,b",
boost::program_options::value<boost::filesystem::path>(&base_path), boost::program_options::value<std::filesystem::path>(&base_path),
"base path to .osrm file"); "base path to .osrm file");
// positional option // positional option
@ -168,7 +168,7 @@ bool generateDataStoreOptions(const int argc,
const auto *executable = argv[0]; const auto *executable = argv[0];
boost::program_options::options_description visible_options( boost::program_options::options_description visible_options(
boost::filesystem::path(executable).filename().string() + " [<options>] <configuration>"); std::filesystem::path(executable).filename().string() + " [<options>] <configuration>");
visible_options.add(generic_options).add(config_options); visible_options.add(generic_options).add(config_options);
// print help options if no infile is specified // print help options if no infile is specified
@ -242,7 +242,7 @@ try
util::LogPolicy::GetInstance().Unmute(); util::LogPolicy::GetInstance().Unmute();
std::string verbosity; std::string verbosity;
boost::filesystem::path base_path; std::filesystem::path base_path;
int max_wait = -1; int max_wait = -1;
std::string dataset_name; std::string dataset_name;
bool list_datasets = false; bool list_datasets = false;

View File

@ -25,7 +25,6 @@
#include "util/typedefs.hpp" #include "util/typedefs.hpp"
#include <boost/assert.hpp> #include <boost/assert.hpp>
#include <boost/filesystem/fstream.hpp>
#include <tbb/blocked_range.h> #include <tbb/blocked_range.h>
#include <tbb/concurrent_vector.h> #include <tbb/concurrent_vector.h>
@ -38,6 +37,7 @@
#include <atomic> #include <atomic>
#include <bitset> #include <bitset>
#include <cstdint> #include <cstdint>
#include <fstream>
#include <iterator> #include <iterator>
#include <memory> #include <memory>
#include <tuple> #include <tuple>
@ -408,7 +408,7 @@ void saveDatasourcesNames(const UpdaterConfig &config)
// for rendering in the debug tiles. // for rendering in the debug tiles.
for (auto const &name : config.segment_speed_lookup_paths) for (auto const &name : config.segment_speed_lookup_paths)
{ {
sources.SetSourceName(source, boost::filesystem::path(name).stem().string()); sources.SetSourceName(source, std::filesystem::path(name).stem().string());
source++; source++;
} }

View File

@ -3,13 +3,11 @@
#include "util/geojson_validation.hpp" #include "util/geojson_validation.hpp"
#include "util/log.hpp" #include "util/log.hpp"
#include <boost/filesystem/fstream.hpp>
#include <boost/filesystem/path.hpp>
#include <rapidjson/document.h> #include <rapidjson/document.h>
#include <rapidjson/error/en.h> #include <rapidjson/error/en.h>
#include <rapidjson/istreamwrapper.h> #include <rapidjson/istreamwrapper.h>
#include <filesystem>
#include <fstream> #include <fstream>
#include <optional> #include <optional>
#include <regex> #include <regex>
@ -40,7 +38,7 @@ Timezoner::Timezoner(const char geojson[], std::time_t utc_time_now)
LoadLocalTimesRTree(doc, utc_time_now); LoadLocalTimesRTree(doc, utc_time_now);
} }
Timezoner::Timezoner(const boost::filesystem::path &tz_shapes_filename, std::time_t utc_time_now) Timezoner::Timezoner(const std::filesystem::path &tz_shapes_filename, std::time_t utc_time_now)
{ {
util::Log() << "Time zone validation based on UTC time : " << utc_time_now; util::Log() << "Time zone validation based on UTC time : " << utc_time_now;

View File

@ -1,16 +1,39 @@
#ifndef UNIT_TESTS_TEMPORARY_FILE_HPP #ifndef UNIT_TESTS_TEMPORARY_FILE_HPP
#define UNIT_TESTS_TEMPORARY_FILE_HPP #define UNIT_TESTS_TEMPORARY_FILE_HPP
#include <boost/filesystem.hpp> #include <cstdlib>
#include <filesystem>
#include <random>
#include <string>
inline std::string random_string(std::string::size_type length)
{
static auto &chrs = "0123456789"
"abcdefghijklmnopqrstuvwxyz"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
thread_local static std::mt19937 rg{std::random_device{}()};
thread_local static std::uniform_int_distribution<std::string::size_type> pick(
0, sizeof(chrs) - 2);
std::string s;
s.reserve(length);
while (length--)
{
s += chrs[pick(rg)];
}
return s;
}
struct TemporaryFile struct TemporaryFile
{ {
TemporaryFile() : path(boost::filesystem::unique_path()) {} TemporaryFile() : path(std::filesystem::temp_directory_path() / random_string(8)) {}
TemporaryFile(const std::string &path) : path(path) {} TemporaryFile(const std::string &path) : path(path) {}
~TemporaryFile() { boost::filesystem::remove(path); } ~TemporaryFile() { std::filesystem::remove(path); }
boost::filesystem::path path; std::filesystem::path path;
}; };
#endif // UNIT_TESTS_TEMPORARY_FILE_HPP #endif // UNIT_TESTS_TEMPORARY_FILE_HPP

View File

@ -1,11 +1,14 @@
#include "extractor/location_dependent_data.hpp" #include "extractor/location_dependent_data.hpp"
#include "../common/range_tools.hpp" #include "../common/range_tools.hpp"
#include "../common/temporary_file.hpp"
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <cstdlib>
#include <filesystem>
#include <fstream> #include <fstream>
#include <random>
#include <vector> #include <vector>
BOOST_AUTO_TEST_SUITE(location_dependent_data_tests) BOOST_AUTO_TEST_SUITE(location_dependent_data_tests)
@ -16,14 +19,13 @@ using point_t = LocationDependentData::point_t;
struct LocationDataFixture struct LocationDataFixture
{ {
LocationDataFixture(const std::string &json) : temporary_file(boost::filesystem::unique_path()) LocationDataFixture(const std::string &json)
{ {
std::ofstream file(temporary_file.string()); std::ofstream file(temporary_file.path.string());
file << json; file << json;
} }
~LocationDataFixture() { remove(temporary_file); }
boost::filesystem::path temporary_file; TemporaryFile temporary_file;
}; };
BOOST_AUTO_TEST_CASE(polygon_tests) BOOST_AUTO_TEST_CASE(polygon_tests)
@ -50,7 +52,7 @@ BOOST_AUTO_TEST_CASE(polygon_tests)
} }
]})json"); ]})json");
LocationDependentData data({fixture.temporary_file}); LocationDependentData data({fixture.temporary_file.path});
BOOST_CHECK(data.GetPropertyIndexes(point_t(0, 0)).empty()); BOOST_CHECK(data.GetPropertyIndexes(point_t(0, 0)).empty());
CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(1, 1)), 0); CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(1, 1)), 0);
@ -86,7 +88,7 @@ BOOST_AUTO_TEST_CASE(multy_polygon_tests)
} }
]})json"); ]})json");
LocationDependentData data({fixture.temporary_file}); LocationDependentData data({fixture.temporary_file.path});
BOOST_CHECK(data.GetPropertyIndexes(point_t(0, 2)).empty()); BOOST_CHECK(data.GetPropertyIndexes(point_t(0, 2)).empty());
BOOST_CHECK(data.GetPropertyIndexes(point_t(0, -3)).empty()); BOOST_CHECK(data.GetPropertyIndexes(point_t(0, -3)).empty());
@ -117,7 +119,7 @@ BOOST_AUTO_TEST_CASE(polygon_merging_tests)
} }
]})json"); ]})json");
LocationDependentData data({fixture.temporary_file}); LocationDependentData data({fixture.temporary_file.path});
CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(-3, 3)), 0); CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(-3, 3)), 0);
CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(-3, 1)), 0); CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(-3, 1)), 0);
@ -153,7 +155,7 @@ BOOST_AUTO_TEST_CASE(staircase_polygon)
} }
]})json"); ]})json");
LocationDependentData data({fixture.temporary_file}); LocationDependentData data({fixture.temporary_file.path});
// all corners // all corners
BOOST_CHECK(!data.GetPropertyIndexes(point_t(0, 0)).empty()); BOOST_CHECK(!data.GetPropertyIndexes(point_t(0, 0)).empty());

View File

@ -3,9 +3,9 @@
#include "../common/temporary_file.hpp" #include "../common/temporary_file.hpp"
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <filesystem>
#include <iomanip> #include <iomanip>
#include <iostream> #include <iostream>
#include <sstream> #include <sstream>

View File

@ -4,9 +4,10 @@
#include <osrm/coordinate.hpp> #include <osrm/coordinate.hpp>
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <filesystem>
BOOST_AUTO_TEST_SUITE(raster_source) BOOST_AUTO_TEST_SUITE(raster_source)
using namespace osrm; using namespace osrm;

View File

@ -3,10 +3,10 @@
#include "../common/range_tools.hpp" #include "../common/range_tools.hpp"
#include "../common/temporary_file.hpp" #include "../common/temporary_file.hpp"
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <cmath> #include <cmath>
#include <filesystem>
BOOST_AUTO_TEST_SUITE(data_layout) BOOST_AUTO_TEST_SUITE(data_layout)

View File

@ -5,9 +5,9 @@
#include "../common/range_tools.hpp" #include "../common/range_tools.hpp"
#include "../common/temporary_file.hpp" #include "../common/temporary_file.hpp"
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <filesystem>
#include <random> #include <random>
BOOST_AUTO_TEST_SUITE(serialization) BOOST_AUTO_TEST_SUITE(serialization)

View File

@ -2,9 +2,10 @@
#include "util/geojson_validation.hpp" #include "util/geojson_validation.hpp"
#include "util/timezones.hpp" #include "util/timezones.hpp"
#include <boost/filesystem/path.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <filesystem>
BOOST_AUTO_TEST_SUITE(timezoner) BOOST_AUTO_TEST_SUITE(timezoner)
using namespace osrm; using namespace osrm;
@ -22,7 +23,7 @@ BOOST_AUTO_TEST_CASE(timezoner_test)
std::time_t now = time(0); std::time_t now = time(0);
BOOST_CHECK_NO_THROW(Timezoner tz(json, now)); BOOST_CHECK_NO_THROW(Timezoner tz(json, now));
boost::filesystem::path test_path(TEST_DATA_DIR "/test.geojson"); std::filesystem::path test_path(TEST_DATA_DIR "/test.geojson");
BOOST_CHECK_NO_THROW(Timezoner tz(test_path, now)); BOOST_CHECK_NO_THROW(Timezoner tz(test_path, now));
// missing opening bracket // missing opening bracket

View File

@ -3,9 +3,10 @@
#include "../common/range_tools.hpp" #include "../common/range_tools.hpp"
#include "../common/temporary_file.hpp" #include "../common/temporary_file.hpp"
#include <boost/filesystem.hpp>
#include <boost/test/unit_test.hpp> #include <boost/test/unit_test.hpp>
#include <filesystem>
BOOST_AUTO_TEST_SUITE(serialization) BOOST_AUTO_TEST_SUITE(serialization)
using namespace osrm; using namespace osrm;

View File

@ -227,7 +227,7 @@ void sampling_verify_rtree(RTreeT &rtree,
} }
template <typename RTreeT, typename FixtureT> template <typename RTreeT, typename FixtureT>
auto make_rtree(const boost::filesystem::path &path, FixtureT &fixture) auto make_rtree(const std::filesystem::path &path, FixtureT &fixture)
{ {
return RTreeT(fixture.edges, fixture.coords, path); return RTreeT(fixture.edges, fixture.coords, path);
} }