diff --git a/CHANGELOG.md b/CHANGELOG.md index a736d3040..af81aa8d8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,6 +19,7 @@ - NodeJS: - CHANGED: Use node-api instead of NAN. [#6452](https://github.com/Project-OSRM/osrm-backend/pull/6452) - Misc: + - 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) - 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) diff --git a/features/support/env.js b/features/support/env.js index 85b7b4383..7914e3165 100644 --- a/features/support/env.js +++ b/features/support/env.js @@ -42,7 +42,7 @@ module.exports = function () { 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_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}`; diff --git a/include/contractor/contractor_config.hpp b/include/contractor/contractor_config.hpp index 020720dde..30889e218 100644 --- a/include/contractor/contractor_config.hpp +++ b/include/contractor/contractor_config.hpp @@ -31,8 +31,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "storage/io_config.hpp" #include "updater/updater_config.hpp" -#include - +#include #include namespace osrm::contractor @@ -47,7 +46,7 @@ struct ContractorConfig final : storage::IOConfig } // 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); updater_config.UseDefaultOutputNames(base); diff --git a/include/contractor/files.hpp b/include/contractor/files.hpp index c0755b728..7b77869bf 100644 --- a/include/contractor/files.hpp +++ b/include/contractor/files.hpp @@ -9,7 +9,7 @@ namespace osrm::contractor::files { // reads .osrm.hsgr file template -inline void readGraph(const boost::filesystem::path &path, +inline void readGraph(const std::filesystem::path &path, std::unordered_map &metrics, std::uint32_t &connectivity_checksum) { @@ -30,7 +30,7 @@ inline void readGraph(const boost::filesystem::path &path, // writes .osrm.hsgr file template -inline void writeGraph(const boost::filesystem::path &path, +inline void writeGraph(const std::filesystem::path &path, const std::unordered_map &metrics, const std::uint32_t connectivity_checksum) { diff --git a/include/customizer/customizer_config.hpp b/include/customizer/customizer_config.hpp index 3ac028027..11f786c46 100644 --- a/include/customizer/customizer_config.hpp +++ b/include/customizer/customizer_config.hpp @@ -1,9 +1,8 @@ #ifndef OSRM_CUSTOMIZE_CUSTOMIZER_CONFIG_HPP #define OSRM_CUSTOMIZE_CUSTOMIZER_CONFIG_HPP -#include - #include +#include #include #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); updater_config.UseDefaultOutputNames(base); diff --git a/include/customizer/edge_based_graph.hpp b/include/customizer/edge_based_graph.hpp index 5bc45e24a..9cf92212a 100644 --- a/include/customizer/edge_based_graph.hpp +++ b/include/customizer/edge_based_graph.hpp @@ -9,7 +9,7 @@ #include "storage/shared_memory_ownership.hpp" -#include +#include namespace osrm::customizer { diff --git a/include/customizer/files.hpp b/include/customizer/files.hpp index e5394da59..9a818d534 100644 --- a/include/customizer/files.hpp +++ b/include/customizer/files.hpp @@ -14,7 +14,7 @@ namespace osrm::customizer::files // reads .osrm.cell_metrics file template -inline void readCellMetrics(const boost::filesystem::path &path, +inline void readCellMetrics(const std::filesystem::path &path, std::unordered_map> &metrics) { static_assert(std::is_same::value || @@ -44,7 +44,7 @@ inline void readCellMetrics(const boost::filesystem::path &path, // writes .osrm.cell_metrics file template inline void -writeCellMetrics(const boost::filesystem::path &path, +writeCellMetrics(const std::filesystem::path &path, const std::unordered_map> &metrics) { static_assert(std::is_same::value || @@ -72,7 +72,7 @@ writeCellMetrics(const boost::filesystem::path &path, // reads .osrm.mldgr file template -inline void readGraph(const boost::filesystem::path &path, +inline void readGraph(const std::filesystem::path &path, MultiLevelGraphT &graph, std::uint32_t &connectivity_checksum) { @@ -88,7 +88,7 @@ inline void readGraph(const boost::filesystem::path &path, // writes .osrm.mldgr file template -inline void writeGraph(const boost::filesystem::path &path, +inline void writeGraph(const std::filesystem::path &path, const MultiLevelGraphT &graph, const std::uint32_t connectivity_checksum) { diff --git a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp index 9b35989e1..73cdbba67 100644 --- a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp +++ b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp @@ -176,7 +176,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade SharedRTree m_static_rtree; std::unique_ptr m_geospatial_query; - boost::filesystem::path file_index_path; + std::filesystem::path file_index_path; std::optional intersection_bearings_view; diff --git a/include/engine/engine_config.hpp b/include/engine/engine_config.hpp index c7c7eb06f..032a5960c 100644 --- a/include/engine/engine_config.hpp +++ b/include/engine/engine_config.hpp @@ -31,9 +31,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "storage/storage_config.hpp" #include "osrm/datasets.hpp" -#include - #include +#include #include namespace osrm::engine @@ -88,7 +87,7 @@ struct EngineConfig final boost::optional default_radius = -1.0; int max_alternatives = 3; // set an arbitrary upper bound; can be adjusted by user bool use_shared_memory = true; - boost::filesystem::path memory_file; + std::filesystem::path memory_file; bool use_mmap = true; Algorithm algorithm = Algorithm::CH; std::vector disable_feature_dataset; diff --git a/include/extractor/extractor_config.hpp b/include/extractor/extractor_config.hpp index 61a69d6d0..15df396dc 100644 --- a/include/extractor/extractor_config.hpp +++ b/include/extractor/extractor_config.hpp @@ -28,13 +28,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef EXTRACTOR_CONFIG_HPP #define EXTRACTOR_CONFIG_HPP -#include +#include "storage/io_config.hpp" #include +#include #include -#include "storage/io_config.hpp" - 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); } - boost::filesystem::path input_path; - boost::filesystem::path profile_path; - std::vector location_dependent_data_paths; + std::filesystem::path input_path; + std::filesystem::path profile_path; + std::vector location_dependent_data_paths; std::string data_version; unsigned requested_num_threads = 0; diff --git a/include/extractor/files.hpp b/include/extractor/files.hpp index bb4a4a2bd..aeddb36d4 100644 --- a/include/extractor/files.hpp +++ b/include/extractor/files.hpp @@ -23,7 +23,7 @@ namespace osrm::extractor::files // writes the .osrm.icd file template -inline void writeIntersections(const boost::filesystem::path &path, +void writeIntersections(const std::filesystem::path &path, const IntersectionBearingsT &intersection_bearings, const EntryClassVectorT &entry_classes) { @@ -39,7 +39,7 @@ inline void writeIntersections(const boost::filesystem::path &path, // read the .osrm.icd file template -inline void readIntersections(const boost::filesystem::path &path, +void readIntersections(const std::filesystem::path &path, IntersectionBearingsT &intersection_bearings, EntryClassVectorT &entry_classes) { @@ -54,7 +54,7 @@ inline void readIntersections(const boost::filesystem::path &path, } // reads .osrm.properties -inline void readProfileProperties(const boost::filesystem::path &path, +inline void readProfileProperties(const std::filesystem::path &path, ProfileProperties &properties) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; @@ -64,7 +64,7 @@ inline void readProfileProperties(const boost::filesystem::path &path, } // writes .osrm.properties -inline void writeProfileProperties(const boost::filesystem::path &path, +inline void writeProfileProperties(const std::filesystem::path &path, const ProfileProperties &properties) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; @@ -74,7 +74,7 @@ inline void writeProfileProperties(const boost::filesystem::path &path, } template -void writeEdgeBasedGraph(const boost::filesystem::path &path, +void writeEdgeBasedGraph(const std::filesystem::path &path, EdgeID const number_of_edge_based_nodes, const EdgeBasedEdgeVector &edge_based_edge_list, const std::uint32_t connectivity_checksum) @@ -92,7 +92,7 @@ void writeEdgeBasedGraph(const boost::filesystem::path &path, // reads .osrm.ebg file template -void readEdgeBasedGraph(const boost::filesystem::path &path, +void readEdgeBasedGraph(const std::filesystem::path &path, EdgeID &number_of_edge_based_nodes, EdgeBasedEdgeVector &edge_based_edge_list, std::uint32_t &connectivity_checksum) @@ -108,7 +108,7 @@ void readEdgeBasedGraph(const boost::filesystem::path &path, // reads .osrm.nbg_nodes template -inline void readNodes(const boost::filesystem::path &path, +void readNodes(const std::filesystem::path &path, CoordinatesT &coordinates, PackedOSMIDsT &osm_node_ids) { @@ -124,7 +124,7 @@ inline void readNodes(const boost::filesystem::path &path, // reads only coordinates from .osrm.nbg_nodes template -inline void readNodeCoordinates(const boost::filesystem::path &path, CoordinatesT &coordinates) +void readNodeCoordinates(const std::filesystem::path &path, CoordinatesT &coordinates) { static_assert(std::is_same::value, ""); @@ -136,7 +136,7 @@ inline void readNodeCoordinates(const boost::filesystem::path &path, Coordinates // writes .osrm.nbg_nodes template -inline void writeNodes(const boost::filesystem::path &path, +void writeNodes(const std::filesystem::path &path, const CoordinatesT &coordinates, const PackedOSMIDsT &osm_node_ids) { @@ -151,7 +151,7 @@ inline void writeNodes(const boost::filesystem::path &path, } // reads .osrm.cnbg_to_ebg -inline void readNBGMapping(const boost::filesystem::path &path, std::vector &mapping) +inline void readNBGMapping(const std::filesystem::path &path, std::vector &mapping) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; storage::tar::FileReader reader{path, fingerprint}; @@ -160,7 +160,7 @@ inline void readNBGMapping(const boost::filesystem::path &path, std::vector &mapping) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; @@ -170,7 +170,7 @@ inline void writeNBGMapping(const boost::filesystem::path &path, } // 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; storage::tar::FileReader reader{path, fingerprint}; @@ -179,7 +179,7 @@ inline void readDatasources(const boost::filesystem::path &path, Datasources &so } // 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; storage::tar::FileWriter writer{path, fingerprint}; @@ -189,7 +189,7 @@ inline void writeDatasources(const boost::filesystem::path &path, Datasources &s // reads .osrm.geometry template -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::value || std::is_same::value, @@ -202,7 +202,7 @@ inline void readSegmentData(const boost::filesystem::path &path, SegmentDataT &s // writes .osrm.geometry template -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::value || std::is_same::value, @@ -215,7 +215,7 @@ inline void writeSegmentData(const boost::filesystem::path &path, const SegmentD // reads .osrm.ebg_nodes template -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::value || std::is_same::value || @@ -229,7 +229,7 @@ inline void readNodeData(const boost::filesystem::path &path, NodeDataT &node_da // writes .osrm.ebg_nodes template -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::value || std::is_same::value || @@ -243,7 +243,7 @@ inline void writeNodeData(const boost::filesystem::path &path, const NodeDataT & // reads .osrm.tls template -inline void readTurnLaneDescriptions(const boost::filesystem::path &path, +inline void readTurnLaneDescriptions(const std::filesystem::path &path, OffsetsT &turn_offsets, MaskT &turn_masks) { @@ -260,7 +260,7 @@ inline void readTurnLaneDescriptions(const boost::filesystem::path &path, // writes .osrm.tls template -inline void writeTurnLaneDescriptions(const boost::filesystem::path &path, +inline void writeTurnLaneDescriptions(const std::filesystem::path &path, const OffsetsT &turn_offsets, const MaskT &turn_masks) { @@ -277,7 +277,7 @@ inline void writeTurnLaneDescriptions(const boost::filesystem::path &path, // reads .osrm.tld template -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( std::is_same::value, @@ -291,7 +291,7 @@ inline void readTurnLaneData(const boost::filesystem::path &path, TurnLaneDataT // writes .osrm.tld template -inline void writeTurnLaneData(const boost::filesystem::path &path, +inline void writeTurnLaneData(const std::filesystem::path &path, const TurnLaneDataT &turn_lane_data) { static_assert( @@ -306,7 +306,7 @@ inline void writeTurnLaneData(const boost::filesystem::path &path, // reads .osrm.timestamp template -inline void readTimestamp(const boost::filesystem::path &path, TimestampDataT ×tamp) +inline void readTimestamp(const std::filesystem::path &path, TimestampDataT ×tamp) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; storage::tar::FileReader reader{path, fingerprint}; @@ -316,7 +316,7 @@ inline void readTimestamp(const boost::filesystem::path &path, TimestampDataT &t // writes .osrm.timestamp template -inline void writeTimestamp(const boost::filesystem::path &path, const TimestampDataT ×tamp) +inline void writeTimestamp(const std::filesystem::path &path, const TimestampDataT ×tamp) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; storage::tar::FileWriter writer{path, fingerprint}; @@ -326,7 +326,7 @@ inline void writeTimestamp(const boost::filesystem::path &path, const TimestampD // reads .osrm.maneuver_overrides template -inline void readManeuverOverrides(const boost::filesystem::path &path, +inline void readManeuverOverrides(const std::filesystem::path &path, StorageManeuverOverrideT &maneuver_overrides, NodeSequencesT &node_sequences) { @@ -340,7 +340,7 @@ inline void readManeuverOverrides(const boost::filesystem::path &path, } // writes .osrm.maneuver_overrides -inline void writeManeuverOverrides(const boost::filesystem::path &path, +inline void writeManeuverOverrides(const std::filesystem::path &path, const std::vector &maneuver_overrides, const std::vector &node_sequences) { @@ -355,7 +355,7 @@ inline void writeManeuverOverrides(const boost::filesystem::path &path, // writes .osrm.turn_weight_penalties template -inline void writeTurnWeightPenalty(const boost::filesystem::path &path, +inline void writeTurnWeightPenalty(const std::filesystem::path &path, const TurnPenaltyT &turn_penalty) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; @@ -366,7 +366,7 @@ inline void writeTurnWeightPenalty(const boost::filesystem::path &path, // read .osrm.turn_weight_penalties template -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; storage::tar::FileReader reader{path, fingerprint}; @@ -376,7 +376,7 @@ inline void readTurnWeightPenalty(const boost::filesystem::path &path, TurnPenal // writes .osrm.turn_duration_penalties template -inline void writeTurnDurationPenalty(const boost::filesystem::path &path, +inline void writeTurnDurationPenalty(const std::filesystem::path &path, const TurnPenaltyT &turn_penalty) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; @@ -387,7 +387,7 @@ inline void writeTurnDurationPenalty(const boost::filesystem::path &path, // read .osrm.turn_weight_penalties template -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; storage::tar::FileReader reader{path, fingerprint}; @@ -397,7 +397,7 @@ inline void readTurnDurationPenalty(const boost::filesystem::path &path, TurnPen // writes .osrm.turn_penalties_index template -inline void writeTurnPenaltiesIndex(const boost::filesystem::path &path, +inline void writeTurnPenaltiesIndex(const std::filesystem::path &path, const TurnIndexT &turn_penalties_index) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; @@ -408,7 +408,7 @@ inline void writeTurnPenaltiesIndex(const boost::filesystem::path &path, // read .osrm.turn_penalties_index template -inline void readTurnPenaltiesIndex(const boost::filesystem::path &path, +inline void readTurnPenaltiesIndex(const std::filesystem::path &path, TurnIndexT &turn_penalties_index) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; @@ -419,7 +419,7 @@ inline void readTurnPenaltiesIndex(const boost::filesystem::path &path, // writes .osrm.restrictions template -inline void writeConditionalRestrictions(const boost::filesystem::path &path, +inline void writeConditionalRestrictions(const std::filesystem::path &path, const ConditionalRestrictionsT &conditional_restrictions) { const auto fingerprint = storage::tar::FileWriter::GenerateFingerprint; @@ -430,7 +430,7 @@ inline void writeConditionalRestrictions(const boost::filesystem::path &path, // read .osrm.restrictions template -inline void readConditionalRestrictions(const boost::filesystem::path &path, +inline void readConditionalRestrictions(const std::filesystem::path &path, ConditionalRestrictionsT &conditional_restrictions) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; @@ -441,7 +441,7 @@ inline void readConditionalRestrictions(const boost::filesystem::path &path, // reads .osrm file which is a temporary file of osrm-extract template -void readRawNBGraph(const boost::filesystem::path &path, +void readRawNBGraph(const std::filesystem::path &path, std::vector &coordinates, PackedOSMIDsT &osm_node_ids, std::vector &edge_list) @@ -467,7 +467,7 @@ void readRawNBGraph(const boost::filesystem::path &path, } template -void readNames(const boost::filesystem::path &path, NameTableT &table) +void readNames(const std::filesystem::path &path, NameTableT &table) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; storage::tar::FileReader reader{path, fingerprint}; @@ -476,7 +476,7 @@ void readNames(const boost::filesystem::path &path, NameTableT &table) } template -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; storage::tar::FileWriter writer{path, fingerprint}; @@ -485,7 +485,7 @@ void writeNames(const boost::filesystem::path &path, const NameTableT &table) } template -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; storage::tar::FileReader reader{path, fingerprint}; @@ -494,7 +494,7 @@ void readEdgeBasedNodeWeights(const boost::filesystem::path &path, NodeWeightsVe } template -void readEdgeBasedNodeDistances(const boost::filesystem::path &path, +void readEdgeBasedNodeDistances(const std::filesystem::path &path, NodeDistancesVectorT &distances) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; @@ -504,7 +504,7 @@ void readEdgeBasedNodeDistances(const boost::filesystem::path &path, } template -void writeEdgeBasedNodeWeightsDurationsDistances(const boost::filesystem::path &path, +void writeEdgeBasedNodeWeightsDurationsDistances(const std::filesystem::path &path, const NodeWeightsVectorT &weights, const NodeDurationsVectorT &durations, const NodeDistancesVectorT &distances) @@ -518,7 +518,7 @@ void writeEdgeBasedNodeWeightsDurationsDistances(const boost::filesystem::path & } template -void readEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path, +void readEdgeBasedNodeWeightsDurations(const std::filesystem::path &path, NodeWeightsVectorT &weights, NodeDurationsVectorT &durations) { @@ -530,7 +530,7 @@ void readEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path, } template -void writeEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path, +void writeEdgeBasedNodeWeightsDurations(const std::filesystem::path &path, const NodeWeightsVectorT &weights, const NodeDurationsVectorT &durations) { @@ -542,7 +542,7 @@ void writeEdgeBasedNodeWeightsDurations(const boost::filesystem::path &path, } template -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; storage::tar::FileWriter writer{path, fingerprint}; @@ -550,7 +550,7 @@ void writeRamIndex(const boost::filesystem::path &path, const RTreeT &rtree) util::serialization::write(writer, "/common/rtree", rtree); } -template void readRamIndex(const boost::filesystem::path &path, RTreeT &rtree) +template void readRamIndex(const std::filesystem::path &path, RTreeT &rtree) { const auto fingerprint = storage::tar::FileReader::VerifyFingerprint; storage::tar::FileReader reader{path, fingerprint}; @@ -559,7 +559,7 @@ template void readRamIndex(const boost::filesystem::path &path } template -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; storage::tar::FileWriter writer{path, fingerprint}; @@ -568,7 +568,7 @@ void writeCompressedNodeBasedGraph(const boost::filesystem::path &path, const Ed } template -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; storage::tar::FileReader reader{path, fingerprint}; diff --git a/include/extractor/location_dependent_data.hpp b/include/extractor/location_dependent_data.hpp index 3c9fd6df3..865ddc5b6 100644 --- a/include/extractor/location_dependent_data.hpp +++ b/include/extractor/location_dependent_data.hpp @@ -1,13 +1,13 @@ #ifndef OSRM_LOCATION_DEPENDENT_DATA_HPP #define OSRM_LOCATION_DEPENDENT_DATA_HPP -#include #include #include #include #include +#include #include #include @@ -30,7 +30,7 @@ struct LocationDependentData using property_t = boost::variant; using properties_t = std::unordered_map; - LocationDependentData(const std::vector &file_paths); + LocationDependentData(const std::vector &file_paths); bool empty() const { return rtree.empty(); } @@ -39,7 +39,7 @@ struct LocationDependentData property_t FindByKey(const std::vector &property_indexes, const char *key) const; private: - void loadLocationDependentData(const boost::filesystem::path &file_path, + void loadLocationDependentData(const std::filesystem::path &file_path, std::vector &bounding_boxes); rtree_t rtree; diff --git a/include/extractor/node_based_graph_factory.hpp b/include/extractor/node_based_graph_factory.hpp index c69842d3c..e3a507285 100644 --- a/include/extractor/node_based_graph_factory.hpp +++ b/include/extractor/node_based_graph_factory.hpp @@ -12,8 +12,7 @@ #include "util/coordinate.hpp" #include "util/node_based_graph.hpp" -#include - +#include #include #include #include diff --git a/include/extractor/raster_source.hpp b/include/extractor/raster_source.hpp index b575b5581..89d438183 100644 --- a/include/extractor/raster_source.hpp +++ b/include/extractor/raster_source.hpp @@ -7,14 +7,13 @@ #include #include #include -#include -#include #include #include #include #include +#include #include #include #include @@ -40,7 +39,7 @@ struct RasterDatum class RasterGrid { 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; ydim = _ydim; diff --git a/include/extractor/scripting_environment_lua.hpp b/include/extractor/scripting_environment_lua.hpp index ef5243454..26da7a3b5 100644 --- a/include/extractor/scripting_environment_lua.hpp +++ b/include/extractor/scripting_environment_lua.hpp @@ -70,7 +70,7 @@ class Sol2ScriptingEnvironment final : public ScriptingEnvironment explicit Sol2ScriptingEnvironment( const std::string &file_name, - const std::vector &location_dependent_data_paths); + const std::vector &location_dependent_data_paths); ~Sol2ScriptingEnvironment() override = default; const ProfileProperties &GetProfileProperties() override; diff --git a/include/extractor/segment_data_container.hpp b/include/extractor/segment_data_container.hpp index 99bf5d74b..abc5b7a17 100644 --- a/include/extractor/segment_data_container.hpp +++ b/include/extractor/segment_data_container.hpp @@ -8,13 +8,12 @@ #include "storage/shared_memory_ownership.hpp" #include "storage/tar_fwd.hpp" -#include #include #include -#include - +#include #include +#include #include namespace osrm::extractor diff --git a/include/guidance/files.hpp b/include/guidance/files.hpp index b1b7a9776..e72a9f622 100644 --- a/include/guidance/files.hpp +++ b/include/guidance/files.hpp @@ -10,12 +10,16 @@ #include +#include +#include +#include + namespace osrm::guidance::files { // reads .osrm.edges template -inline void readTurnData(const boost::filesystem::path &path, +inline void readTurnData(const std::filesystem::path &path, TurnDataT &turn_data, std::uint32_t &connectivity_checksum) { @@ -32,7 +36,7 @@ inline void readTurnData(const boost::filesystem::path &path, // writes .osrm.edges template -inline void writeTurnData(const boost::filesystem::path &path, +inline void writeTurnData(const std::filesystem::path &path, const TurnDataT &turn_data, const std::uint32_t connectivity_checksum) { diff --git a/include/partitioner/edge_based_graph_reader.hpp b/include/partitioner/edge_based_graph_reader.hpp index 06b8b6ae9..ea5becf7b 100644 --- a/include/partitioner/edge_based_graph_reader.hpp +++ b/include/partitioner/edge_based_graph_reader.hpp @@ -191,7 +191,7 @@ graphToEdges(const DynamicEdgeBasedGraph &edge_based_graph) return edges; } -inline DynamicEdgeBasedGraph LoadEdgeBasedGraph(const boost::filesystem::path &path) +inline DynamicEdgeBasedGraph LoadEdgeBasedGraph(const std::filesystem::path &path) { EdgeID number_of_edge_based_nodes; std::vector edges; diff --git a/include/partitioner/files.hpp b/include/partitioner/files.hpp index 9bd74447b..ff8c47499 100644 --- a/include/partitioner/files.hpp +++ b/include/partitioner/files.hpp @@ -10,7 +10,7 @@ namespace osrm::partitioner::files // read .osrm.partition file template -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::value || std::is_same::value, @@ -24,7 +24,7 @@ inline void readPartition(const boost::filesystem::path &path, MultiLevelPartiti // writes .osrm.partition file template -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::value || std::is_same::value, @@ -38,7 +38,7 @@ inline void writePartition(const boost::filesystem::path &path, const MultiLevel // reads .osrm.cells file template -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::value || std::is_same::value, @@ -52,7 +52,7 @@ inline void readCells(const boost::filesystem::path &path, CellStorageT &storage // writes .osrm.cells file template -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::value || std::is_same::value, @@ -66,7 +66,7 @@ inline void writeCells(const boost::filesystem::path &path, CellStorageT &storag // reads .osrm.mldgr file template -inline void readGraph(const boost::filesystem::path &path, +inline void readGraph(const std::filesystem::path &path, MultiLevelGraphT &graph, std::uint32_t &connectivity_checksum) { @@ -80,7 +80,7 @@ inline void readGraph(const boost::filesystem::path &path, // writes .osrm.mldgr file template -inline void writeGraph(const boost::filesystem::path &path, +inline void writeGraph(const std::filesystem::path &path, const MultiLevelGraphT &graph, const std::uint32_t connectivity_checksum) { diff --git a/include/partitioner/partitioner_config.hpp b/include/partitioner/partitioner_config.hpp index 021ed1b4e..315bbcf78 100644 --- a/include/partitioner/partitioner_config.hpp +++ b/include/partitioner/partitioner_config.hpp @@ -1,9 +1,9 @@ #ifndef OSRM_PARTITIONER_CONFIG_HPP #define OSRM_PARTITIONER_CONFIG_HPP -#include #include +#include #include #include "storage/io_config.hpp" @@ -29,7 +29,7 @@ struct PartitionerConfig final : storage::IOConfig { } - void UseDefaultOutputNames(const boost::filesystem::path &base) + void UseDefaultOutputNames(const std::filesystem::path &base) { IOConfig::UseDefaultOutputNames(base); } diff --git a/include/storage/io.hpp b/include/storage/io.hpp index a172c660f..830c76527 100644 --- a/include/storage/io.hpp +++ b/include/storage/io.hpp @@ -10,14 +10,14 @@ #include "util/log.hpp" #include "util/version.hpp" -#include -#include #include #include #include #include #include +#include +#include #include #include @@ -34,11 +34,11 @@ class FileReader }; 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) { input_stream.open(filepath, std::ios::binary); @@ -57,14 +57,14 @@ class FileReader std::size_t GetSize() { - const boost::filesystem::path path(filepath); + const std::filesystem::path path(filepath); 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) : 0); } - catch (const boost::filesystem::filesystem_error &ex) + catch (const std::filesystem::filesystem_error &ex) { std::cout << ex.what() << std::endl; throw; @@ -195,8 +195,8 @@ class FileReader } private: - const boost::filesystem::path filepath; - boost::filesystem::ifstream input_stream; + const std::filesystem::path filepath; + std::ifstream input_stream; FingerprintFlag fingerprint; }; @@ -210,11 +210,11 @@ class FileWriter }; 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) { output_stream.open(filepath, std::ios::binary); @@ -283,8 +283,8 @@ class FileWriter } private: - const boost::filesystem::path filepath; - boost::filesystem::ofstream output_stream; + const std::filesystem::path filepath; + std::ofstream output_stream; FingerprintFlag fingerprint; }; diff --git a/include/storage/io_config.hpp b/include/storage/io_config.hpp index ee6478638..c3db9214a 100644 --- a/include/storage/io_config.hpp +++ b/include/storage/io_config.hpp @@ -3,19 +3,19 @@ #include "util/exception.hpp" -#include #include -#include -#include + +#include +#include #include namespace osrm::storage { struct IOConfig { - IOConfig(std::vector required_input_files_, - std::vector optional_input_files_, - std::vector output_files_) + IOConfig(std::vector required_input_files_, + std::vector optional_input_files_, + std::vector output_files_) : required_input_files(std::move(required_input_files_)), optional_input_files(std::move(optional_input_files_)), output_files(std::move(output_files_)) @@ -24,7 +24,7 @@ struct IOConfig bool IsValid() const; std::vector 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) && !IsConfigured(fileName, optional_input_files) && !IsConfigured(fileName, output_files)) @@ -40,11 +40,11 @@ struct IOConfig return IsConfigured(fileName, required_input_files); } - boost::filesystem::path base_path; + std::filesystem::path base_path; protected: // 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 // determining the base path= @@ -67,7 +67,7 @@ struct IOConfig private: static bool IsConfigured(const std::string &fileName, - const std::vector &paths) + const std::vector &paths) { for (auto &path : paths) { @@ -80,9 +80,9 @@ struct IOConfig return false; } - std::vector required_input_files; - std::vector optional_input_files; - std::vector output_files; + std::vector required_input_files; + std::vector optional_input_files; + std::vector output_files; }; } // namespace osrm::storage diff --git a/include/storage/shared_memory.hpp b/include/storage/shared_memory.hpp index 76a385b88..e62aff1e9 100644 --- a/include/storage/shared_memory.hpp +++ b/include/storage/shared_memory.hpp @@ -5,8 +5,6 @@ #include "util/exception_utils.hpp" #include "util/log.hpp" -#include -#include #include #ifndef _WIN32 #include @@ -23,6 +21,8 @@ #include #include +#include +#include #include #include "storage/shared_memory_ownership.hpp" @@ -32,10 +32,10 @@ namespace osrm::storage struct OSRMLockFile { - template boost::filesystem::path operator()(const IdentifierT &id) + template std::filesystem::path operator()(const IdentifierT &id) { - boost::filesystem::path temp_dir = boost::filesystem::temp_directory_path(); - boost::filesystem::path lock_file = temp_dir / ("osrm-" + std::to_string(id) + ".lock"); + std::filesystem::path temp_dir = std::filesystem::temp_directory_path(); + std::filesystem::path lock_file = temp_dir / ("osrm-" + std::to_string(id) + ".lock"); return lock_file; } }; @@ -51,7 +51,7 @@ class SharedMemory SharedMemory &operator=(const SharedMemory &) = delete; template - SharedMemory(const boost::filesystem::path &lock_file, + SharedMemory(const std::filesystem::path &lock_file, const IdentifierT id, const uint64_t size = 0) : key(lock_file.string().c_str(), id) @@ -202,7 +202,7 @@ class SharedMemory void *Ptr() const { return region.get_address(); } 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); if (0 == size) @@ -290,7 +290,7 @@ std::unique_ptr makeSharedMemory(const IdentifierT &id, const uint try { LockFileT lock_file; - if (!boost::filesystem::exists(lock_file(id))) + if (!std::filesystem::exists(lock_file(id))) { if (0 == size) { @@ -298,7 +298,7 @@ std::unique_ptr makeSharedMemory(const IdentifierT &id, const uint } else { - boost::filesystem::ofstream ofs(lock_file(id)); + std::ofstream ofs(lock_file(id)); } } return std::make_unique(lock_file(id), id, size); diff --git a/include/storage/storage.hpp b/include/storage/storage.hpp index b9c22e509..839d2ae8a 100644 --- a/include/storage/storage.hpp +++ b/include/storage/storage.hpp @@ -32,15 +32,14 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "storage/shared_datatype.hpp" #include "storage/storage_config.hpp" -#include - +#include #include #include 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 { @@ -51,10 +50,10 @@ class Storage void PopulateStaticData(const SharedDataIndex &index); void PopulateUpdatableData(const SharedDataIndex &index); void PopulateLayout(storage::BaseDataLayout &layout, - const std::vector> &files); + const std::vector> &files); std::string PopulateLayoutWithRTree(storage::BaseDataLayout &layout); - std::vector> GetUpdatableFiles(); - std::vector> GetStaticFiles(); + std::vector> GetUpdatableFiles(); + std::vector> GetStaticFiles(); private: StorageConfig config; diff --git a/include/storage/storage_config.hpp b/include/storage/storage_config.hpp index 3059cddd0..af7145b14 100644 --- a/include/storage/storage_config.hpp +++ b/include/storage/storage_config.hpp @@ -28,22 +28,24 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef STORAGE_CONFIG_HPP #define STORAGE_CONFIG_HPP -#include #include "storage/io_config.hpp" #include "osrm/datasets.hpp" +#include +#include #include +#include namespace osrm::storage { std::istream &operator>>(std::istream &in, FeatureDataset &datasets); -static std::vector +static std::vector GetRequiredFiles(const std::vector &disabled_feature_dataset) { - std::set required{ + std::set required{ ".osrm.datasource_names", ".osrm.ebg_nodes", ".osrm.edges", @@ -82,7 +84,7 @@ GetRequiredFiles(const std::vector &disabled_feature_da } } - return std::vector(required.begin(), required.end()); + return std::vector(required.begin(), required.end()); ; } @@ -94,7 +96,7 @@ GetRequiredFiles(const std::vector &disabled_feature_da struct StorageConfig final : IOConfig { - StorageConfig(const boost::filesystem::path &base, + StorageConfig(const std::filesystem::path &base, const std::vector &disabled_feature_datasets_ = {}) : StorageConfig(disabled_feature_datasets_) { diff --git a/include/storage/tar.hpp b/include/storage/tar.hpp index 9da7bcca0..a942adf25 100644 --- a/include/storage/tar.hpp +++ b/include/storage/tar.hpp @@ -7,7 +7,7 @@ #include "util/integer_range.hpp" #include "util/version.hpp" -#include +#include extern "C" { @@ -19,7 +19,7 @@ namespace osrm::storage::tar namespace detail { 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) { @@ -78,7 +78,7 @@ class FileReader 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"); detail::checkMTarError(ret, path, ""); @@ -204,7 +204,7 @@ class FileReader return true; } - boost::filesystem::path path; + std::filesystem::path path; mtar_t handle; }; @@ -217,7 +217,7 @@ class FileWriter 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"); detail::checkMTarError(ret, path, ""); @@ -305,7 +305,7 @@ class FileWriter WriteFrom("osrm_fingerprint.meta", fingerprint); } - boost::filesystem::path path; + std::filesystem::path path; mtar_t handle; }; } // namespace osrm::storage::tar diff --git a/include/storage/view_factory.hpp b/include/storage/view_factory.hpp index 88e99e8e8..00223f57c 100644 --- a/include/storage/view_factory.hpp +++ b/include/storage/view_factory.hpp @@ -202,7 +202,7 @@ inline auto make_search_tree_view(const SharedDataIndex &index, const std::strin const char *path = index.template GetBlockPtr(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?" + SOURCE_REF); diff --git a/include/updater/csv_file_parser.hpp b/include/updater/csv_file_parser.hpp index 1b1bffb92..17998baf1 100644 --- a/include/updater/csv_file_parser.hpp +++ b/include/updater/csv_file_parser.hpp @@ -12,12 +12,12 @@ #include #include -#include #include #include #include #include +#include #include #include @@ -100,7 +100,7 @@ template struct CSVFilesParser std::vector> result; try { - if (boost::filesystem::file_size(filename) == 0) + if (std::filesystem::file_size(filename) == 0) return result; boost::iostreams::mapped_file_source mmap(filename); diff --git a/include/updater/updater_config.hpp b/include/updater/updater_config.hpp index cc4d2ad4b..d1dab9f3c 100644 --- a/include/updater/updater_config.hpp +++ b/include/updater/updater_config.hpp @@ -28,14 +28,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #ifndef OSRM_UPDATER_UPDATER_CONFIG_HPP #define OSRM_UPDATER_UPDATER_CONFIG_HPP -#include - -#include -#include - #include "storage/io_config.hpp" #include "storage/storage_config.hpp" +#include +#include +#include + 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); } diff --git a/include/util/lua_util.hpp b/include/util/lua_util.hpp index cf006dfa2..c9d57e49e 100644 --- a/include/util/lua_util.hpp +++ b/include/util/lua_util.hpp @@ -8,8 +8,7 @@ extern "C" #include } -#include - +#include #include #include @@ -21,7 +20,7 @@ namespace osrm::util // 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) { - 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(); const std::string lua_code = "package.path = \"" + folder + "/?.lua;\" .. package.path"; luaL_dostring(lua_state, lua_code.c_str()); diff --git a/include/util/mmap_file.hpp b/include/util/mmap_file.hpp index cdee22763..56add5bbe 100644 --- a/include/util/mmap_file.hpp +++ b/include/util/mmap_file.hpp @@ -5,16 +5,17 @@ #include "util/exception_utils.hpp" #include "util/vector_view.hpp" -#include #include +#include + namespace osrm::util { namespace detail { template -util::vector_view mmapFile(const boost::filesystem::path &file, MmapContainerT &mmap_container) +util::vector_view mmapFile(const std::filesystem::path &file, MmapContainerT &mmap_container) { try { @@ -33,7 +34,7 @@ util::vector_view mmapFile(const boost::filesystem::path &file, MmapContainer } template -util::vector_view mmapFile(const boost::filesystem::path &file, +util::vector_view mmapFile(const std::filesystem::path &file, MmapContainerT &mmap_container, const std::size_t size) { @@ -61,21 +62,21 @@ util::vector_view mmapFile(const boost::filesystem::path &file, } // namespace detail template -util::vector_view mmapFile(const boost::filesystem::path &file, +util::vector_view mmapFile(const std::filesystem::path &file, boost::iostreams::mapped_file_source &mmap_container) { return detail::mmapFile(file, mmap_container); } template -util::vector_view mmapFile(const boost::filesystem::path &file, +util::vector_view mmapFile(const std::filesystem::path &file, boost::iostreams::mapped_file &mmap_container) { return detail::mmapFile(file, mmap_container); } template -util::vector_view mmapFile(const boost::filesystem::path &file, +util::vector_view mmapFile(const std::filesystem::path &file, boost::iostreams::mapped_file &mmap_container, std::size_t size) { diff --git a/include/util/mmap_tar.hpp b/include/util/mmap_tar.hpp index 2fa7679ea..a70d5fba8 100644 --- a/include/util/mmap_tar.hpp +++ b/include/util/mmap_tar.hpp @@ -15,7 +15,7 @@ namespace osrm::util using DataRange = std::pair; using DataMap = std::unordered_map; -inline DataMap mmapTarFile(const boost::filesystem::path &path, +inline DataMap mmapTarFile(const std::filesystem::path &path, boost::iostreams::mapped_file_source ®ion) { DataMap map; diff --git a/include/util/static_rtree.hpp b/include/util/static_rtree.hpp index d39d8454d..3f6b1d986 100644 --- a/include/util/static_rtree.hpp +++ b/include/util/static_rtree.hpp @@ -20,7 +20,6 @@ #include "storage/shared_memory_ownership.hpp" #include -#include #include #include @@ -30,6 +29,7 @@ #include #include +#include #include #include #include @@ -271,7 +271,7 @@ class StaticRTree // Construct a packed Hilbert-R-Tree with Kamel-Faloutsos algorithm [1] explicit StaticRTree(const std::vector &input_data_vector, const Vector &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()) { const auto element_count = input_data_vector.size(); @@ -458,7 +458,7 @@ class StaticRTree * Constructs an empty RTree for de-serialization. */ template > - explicit StaticRTree(const boost::filesystem::path &on_disk_file_name, + explicit StaticRTree(const std::filesystem::path &on_disk_file_name, const Vector &coordinate_list) : m_coordinate_list(coordinate_list.data(), coordinate_list.size()), m_objects(mmapFile(on_disk_file_name, m_objects_region)) @@ -473,7 +473,7 @@ class StaticRTree */ explicit StaticRTree(Vector search_tree_, Vector tree_level_starts, - const boost::filesystem::path &on_disk_file_name, + const std::filesystem::path &on_disk_file_name, const Vector &coordinate_list) : m_search_tree(std::move(search_tree_)), m_coordinate_list(coordinate_list.data(), coordinate_list.size()), diff --git a/include/util/timezones.hpp b/include/util/timezones.hpp index ff6b0bc98..9e8512c90 100644 --- a/include/util/timezones.hpp +++ b/include/util/timezones.hpp @@ -3,7 +3,6 @@ #include "util/log.hpp" -#include #include #include #include @@ -11,6 +10,7 @@ #include #include +#include namespace osrm::updater { @@ -32,7 +32,7 @@ class Timezoner Timezoner() = default; 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); boost::optional operator()(const point_t &point) const; diff --git a/src/benchmarks/static_rtree.cpp b/src/benchmarks/static_rtree.cpp index eaa784ea8..a8ffd0c6c 100644 --- a/src/benchmarks/static_rtree.cpp +++ b/src/benchmarks/static_rtree.cpp @@ -12,9 +12,9 @@ #include "util/timing_util.hpp" #include +#include #include -#include namespace osrm::benchmarks { diff --git a/src/engine/datafacade/mmap_memory_allocator.cpp b/src/engine/datafacade/mmap_memory_allocator.cpp index e16331fa0..fb01ab175 100644 --- a/src/engine/datafacade/mmap_memory_allocator.cpp +++ b/src/engine/datafacade/mmap_memory_allocator.cpp @@ -22,7 +22,7 @@ MMapMemoryAllocator::MMapMemoryAllocator(const storage::StorageConfig &config) std::unique_ptr fake_layout = std::make_unique(); - // Convert the boost::filesystem::path object into a plain string + // Convert the std::filesystem::path object into a plain string // that's stored as a member of this allocator object rtree_filename = storage.PopulateLayoutWithRTree(*fake_layout); @@ -44,7 +44,7 @@ MMapMemoryAllocator::MMapMemoryAllocator(const storage::StorageConfig &config) for (const auto &file : files) { - if (boost::filesystem::exists(file.second)) + if (std::filesystem::exists(file.second)) { std::unique_ptr layout = std::make_unique(); diff --git a/src/extractor/compressed_edge_container.cpp b/src/extractor/compressed_edge_container.cpp index 8504c8d02..6cb6ae992 100644 --- a/src/extractor/compressed_edge_container.cpp +++ b/src/extractor/compressed_edge_container.cpp @@ -2,14 +2,14 @@ #include "util/log.hpp" #include -#include -#include #include +#include +#include +#include #include #include -#include namespace osrm::extractor { diff --git a/src/extractor/location_dependent_data.cpp b/src/extractor/location_dependent_data.cpp index 475f15f20..f72e921b8 100644 --- a/src/extractor/location_dependent_data.cpp +++ b/src/extractor/location_dependent_data.cpp @@ -7,17 +7,17 @@ #include #include -#include #include #include +#include #include #include namespace osrm::extractor { -LocationDependentData::LocationDependentData(const std::vector &file_paths) +LocationDependentData::LocationDependentData(const std::vector &file_paths) { std::vector bounding_boxes; for (const auto &path : file_paths) @@ -32,12 +32,12 @@ LocationDependentData::LocationDependentData(const std::vector &bounding_boxes) + const std::filesystem::path &file_path, std::vector &bounding_boxes) { if (file_path.empty()) 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 ") + file_path.string() + " does not exists"); diff --git a/src/extractor/raster_source.cpp b/src/extractor/raster_source.cpp index 72e9f8f5b..2c167e3aa 100644 --- a/src/extractor/raster_source.cpp +++ b/src/extractor/raster_source.cpp @@ -103,8 +103,8 @@ int RasterContainer::LoadRasterSource(const std::string &path_string, util::Log() << "[source loader] Loading from " << path_string << " ... "; TIMER_START(loading_source); - boost::filesystem::path filepath(path_string); - if (!boost::filesystem::exists(filepath)) + std::filesystem::path filepath(path_string); + if (!std::filesystem::exists(filepath)) { throw util::RuntimeError( path_string, ErrorCode::FileOpenError, SOURCE_REF, "File not found"); diff --git a/src/extractor/scripting_environment_lua.cpp b/src/extractor/scripting_environment_lua.cpp index 200efa8b1..8232f0476 100644 --- a/src/extractor/scripting_environment_lua.cpp +++ b/src/extractor/scripting_environment_lua.cpp @@ -113,7 +113,7 @@ void handle_lua_error(const sol::protected_function_result &luares) Sol2ScriptingEnvironment::Sol2ScriptingEnvironment( const std::string &file_name, - const std::vector &location_dependent_data_paths) + const std::vector &location_dependent_data_paths) : file_name(file_name), location_dependent_data(location_dependent_data_paths) { util::Log() << "Using script " << file_name; diff --git a/src/partitioner/partitioner.cpp b/src/partitioner/partitioner.cpp index e8544bf64..5e0caa6c3 100644 --- a/src/partitioner/partitioner.cpp +++ b/src/partitioner/partitioner.cpp @@ -20,16 +20,15 @@ #include "util/json_container.hpp" #include "util/log.hpp" #include "util/mmap_file.hpp" - -#include -#include -#include +#include "util/timing_util.hpp" #include -#include #include -#include "util/timing_util.hpp" +#include +#include +#include +#include namespace osrm::partitioner { @@ -172,11 +171,11 @@ int Partitioner::Run(const PartitionerConfig &config) 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 " "osrm-contract after osrm-partition."; - boost::filesystem::remove(config.GetPath(".osrm.hsgr")); + std::filesystem::remove(config.GetPath(".osrm.hsgr")); } TIMER_STOP(renumber); util::Log() << "Renumbered data in " << TIMER_SEC(renumber) << " seconds"; diff --git a/src/storage/io_config.cpp b/src/storage/io_config.cpp index 4ad810295..8e21cded6 100644 --- a/src/storage/io_config.cpp +++ b/src/storage/io_config.cpp @@ -2,14 +2,12 @@ #include "util/log.hpp" -#include -#include -#include +#include namespace osrm::storage { -namespace fs = boost::filesystem; +namespace fs = std::filesystem; bool IOConfig::IsValid() const { diff --git a/src/storage/storage.cpp b/src/storage/storage.cpp index 65f422a31..0caf177fa 100644 --- a/src/storage/storage.cpp +++ b/src/storage/storage.cpp @@ -23,14 +23,12 @@ #endif #include -#include -#include #include #include #include - #include +#include #include #include #include @@ -165,7 +163,7 @@ bool swapData(Monitor &monitor, } } // 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); @@ -191,11 +189,11 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric util::LogPolicy::GetInstance().Unmute(); - boost::filesystem::path lock_path = - boost::filesystem::temp_directory_path() / "osrm-datastore.lock"; - if (!boost::filesystem::exists(lock_path)) + std::filesystem::path lock_path = + std::filesystem::temp_directory_path() / "osrm-datastore.lock"; + 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()); @@ -258,7 +256,7 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric std::unique_ptr static_layout = std::make_unique(); Storage::PopulateLayoutWithRTree(*static_layout); - std::vector> files = Storage::GetStaticFiles(); + std::vector> files = Storage::GetStaticFiles(); Storage::PopulateLayout(*static_layout, files); auto static_handle = setupRegion(shared_register, *static_layout); regions.push_back({static_handle.data_ptr, std::move(static_layout)}); @@ -267,7 +265,7 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric std::unique_ptr updatable_layout = std::make_unique(); - std::vector> files = Storage::GetUpdatableFiles(); + std::vector> files = Storage::GetUpdatableFiles(); Storage::PopulateLayout(*updatable_layout, files); auto updatable_handle = setupRegion(shared_register, *updatable_layout); regions.push_back({updatable_handle.data_ptr, std::move(updatable_layout)}); @@ -286,12 +284,12 @@ int Storage::Run(int max_wait, const std::string &dataset_name, bool only_metric return EXIT_SUCCESS; } -std::vector> Storage::GetStaticFiles() +std::vector> Storage::GetStaticFiles() { constexpr bool IS_REQUIRED = true; constexpr bool IS_OPTIONAL = false; - std::vector> files = { + std::vector> files = { {IS_OPTIONAL, config.GetPath(".osrm.cells")}, {IS_OPTIONAL, config.GetPath(".osrm.partition")}, {IS_REQUIRED, config.GetPath(".osrm.ebg_nodes")}, @@ -311,7 +309,7 @@ std::vector> Storage::GetStaticFiles() 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()); } @@ -320,12 +318,12 @@ std::vector> Storage::GetStaticFiles() return files; } -std::vector> Storage::GetUpdatableFiles() +std::vector> Storage::GetUpdatableFiles() { constexpr bool IS_REQUIRED = true; constexpr bool IS_OPTIONAL = false; - std::vector> files = { + std::vector> files = { {IS_OPTIONAL, config.GetPath(".osrm.mldgr")}, {IS_OPTIONAL, config.GetPath(".osrm.cell_metrics")}, {IS_OPTIONAL, config.GetPath(".osrm.hsgr")}, @@ -336,7 +334,7 @@ std::vector> Storage::GetUpdatableFiles 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()); } @@ -348,9 +346,9 @@ std::vector> Storage::GetUpdatableFiles std::string Storage::PopulateLayoutWithRTree(storage::BaseDataLayout &layout) { // 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 auto rtree_filename = absolute_file_index_path.string(); @@ -367,11 +365,11 @@ std::string Storage::PopulateLayoutWithRTree(storage::BaseDataLayout &layout) * in that big block. It updates the fields in the layout parameter. */ void Storage::PopulateLayout(storage::BaseDataLayout &layout, - const std::vector> &files) + const std::vector> &files) { for (const auto &file : files) { - if (boost::filesystem::exists(file.second)) + if (std::filesystem::exists(file.second)) { populateLayoutFromFile(file.second, layout); } @@ -390,7 +388,7 @@ void Storage::PopulateStaticData(const SharedDataIndex &index) file_index_path_ptr + index.GetBlockSize("/common/rtree/file_index_path"), 0); 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(index.GetBlockSize( "/common/rtree/file_index_path")) >= absolute_file_index_path.size()); std::copy( @@ -483,13 +481,13 @@ void Storage::PopulateStaticData(const SharedDataIndex &index) 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"); 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"); partitioner::files::readCells(config.GetPath(".osrm.cells"), storage); @@ -542,7 +540,7 @@ void Storage::PopulateUpdatableData(const SharedDataIndex &index) 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; auto contracted_metric = make_contracted_metric_view(index, metric_prefix); @@ -568,7 +566,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); std::unordered_map> metrics = { @@ -577,7 +575,7 @@ void Storage::PopulateUpdatableData(const SharedDataIndex &index) 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"); std::uint32_t graph_connectivity_checksum = 0; diff --git a/src/tools/components.cpp b/src/tools/components.cpp index edd9a3242..1f55a3afa 100644 --- a/src/tools/components.cpp +++ b/src/tools/components.cpp @@ -10,7 +10,6 @@ #include "util/tarjan_scc.hpp" #include "util/typedefs.hpp" -#include #include #include @@ -19,6 +18,7 @@ #include #include +#include #include #include #include @@ -118,7 +118,7 @@ int main(int argc, char *argv[]) const std::string inpath{argv[1]}; const std::string outpath{argv[2]}; - if (boost::filesystem::exists(outpath)) + if (std::filesystem::exists(outpath)) { util::Log(logWARNING) << "Components file " << outpath << " already exists"; return EXIT_FAILURE; diff --git a/src/tools/contract.cpp b/src/tools/contract.cpp index 289ec671b..6f7900e62 100644 --- a/src/tools/contract.cpp +++ b/src/tools/contract.cpp @@ -6,12 +6,12 @@ #include "util/timezones.hpp" #include "util/version.hpp" -#include #include #include #include #include +#include #include #include #include @@ -86,7 +86,7 @@ return_code parseArguments(int argc, boost::program_options::options_description hidden_options("Hidden options"); hidden_options.add_options()( "input,i", - boost::program_options::value(&contractor_config.base_path), + boost::program_options::value(&contractor_config.base_path), "Input file in .osm, .osm.bz2 or .osm.pbf format"); // positional option @@ -99,7 +99,7 @@ return_code parseArguments(int argc, const auto *executable = argv[0]; boost::program_options::options_description visible_options( - "Usage: " + boost::filesystem::path(executable).filename().string() + + "Usage: " + std::filesystem::path(executable).filename().string() + " [options]"); visible_options.add(generic_options).add(config_options); diff --git a/src/tools/customize.cpp b/src/tools/customize.cpp index f77b88795..38f86dc5a 100644 --- a/src/tools/customize.cpp +++ b/src/tools/customize.cpp @@ -5,10 +5,10 @@ #include "util/meminfo.hpp" #include "util/version.hpp" -#include #include #include +#include #include using namespace osrm; @@ -76,7 +76,7 @@ return_code parseArguments(int argc, boost::program_options::options_description hidden_options("Hidden options"); hidden_options.add_options()( "input,i", - boost::program_options::value(&customization_config.base_path), + boost::program_options::value(&customization_config.base_path), "Input base file path"); // positional option @@ -89,7 +89,7 @@ return_code parseArguments(int argc, const auto *executable = argv[0]; boost::program_options::options_description visible_options( - boost::filesystem::path(executable).filename().string() + " [options]"); + std::filesystem::path(executable).filename().string() + " [options]"); visible_options.add(generic_options).add(config_options); // parse command line options diff --git a/src/tools/extract.cpp b/src/tools/extract.cpp index 0fc615c49..42083de71 100644 --- a/src/tools/extract.cpp +++ b/src/tools/extract.cpp @@ -2,18 +2,17 @@ #include "osrm/extractor.hpp" #include "osrm/extractor_config.hpp" #include "util/log.hpp" +#include "util/meminfo.hpp" #include "util/version.hpp" -#include #include #include #include +#include #include #include -#include "util/meminfo.hpp" - using namespace osrm; enum class return_code : unsigned @@ -39,7 +38,7 @@ return_code parseArguments(int argc, boost::program_options::options_description config_options("Configuration"); config_options.add_options()( "profile,p", - boost::program_options::value(&extractor_config.profile_path) + boost::program_options::value(&extractor_config.profile_path) ->default_value("profiles/car.lua"), "Path to LUA routing profile")( "data_version,d", @@ -66,7 +65,7 @@ return_code parseArguments(int argc, ->default_value(false), "Save conditional restrictions found during extraction to disk for use " "during contraction")("location-dependent-data", - boost::program_options::value>( + boost::program_options::value>( &extractor_config.location_dependent_data_paths) ->composing(), "GeoJSON files with location-dependent data")( @@ -87,7 +86,7 @@ return_code parseArguments(int argc, boost::program_options::options_description hidden_options("Hidden options"); hidden_options.add_options()( "input,i", - boost::program_options::value(&extractor_config.input_path), + boost::program_options::value(&extractor_config.input_path), "Input file in .osm, .osm.bz2 or .osm.pbf format")( "generate-edge-lookup", boost::program_options::bool_switch(&dummy)->implicit_value(true)->default_value(false), @@ -103,7 +102,7 @@ return_code parseArguments(int argc, const auto *executable = argv[0]; boost::program_options::options_description visible_options( - boost::filesystem::path(executable).filename().string() + + std::filesystem::path(executable).filename().string() + " [options]"); visible_options.add(generic_options).add(config_options); @@ -175,14 +174,14 @@ try 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() << " not found!"; 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() << " not found!"; diff --git a/src/tools/io-benchmark.cpp b/src/tools/io-benchmark.cpp index 80db12926..8e15e9cc1 100644 --- a/src/tools/io-benchmark.cpp +++ b/src/tools/io-benchmark.cpp @@ -3,8 +3,6 @@ #include "util/log.hpp" #include "util/timing_util.hpp" -#include -#include #include #include @@ -16,6 +14,8 @@ #include #include #include +#include +#include #include #include #include @@ -45,7 +45,7 @@ void runStatistics(std::vector &timings_vector, Statistics &stats) } } // namespace osrm::tools -boost::filesystem::path test_path; +std::filesystem::path test_path; int main(int argc, char *argv[]) { @@ -66,7 +66,7 @@ int main(int argc, char *argv[]) return -1; } - test_path = boost::filesystem::path(argv[1]); + test_path = std::filesystem::path(argv[1]); test_path /= "osrm.tst"; osrm::util::Log(logDEBUG) << "temporary file: " << test_path.string(); @@ -74,7 +74,7 @@ int main(int argc, char *argv[]) if (2 == argc) { // 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() + SOURCE_REF); @@ -120,7 +120,7 @@ int main(int argc, char *argv[]) else { // 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); } @@ -298,9 +298,9 @@ int main(int argc, char *argv[]) << "max: " << stats.max << "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"; } } diff --git a/src/tools/partition.cpp b/src/tools/partition.cpp index acc06a045..87c7a3cbd 100644 --- a/src/tools/partition.cpp +++ b/src/tools/partition.cpp @@ -8,12 +8,12 @@ #include "util/version.hpp" #include -#include #include #include #include #include +#include #include #include @@ -119,7 +119,7 @@ return_code parseArguments(int argc, boost::program_options::options_description hidden_options("Hidden options"); hidden_options.add_options()( "input,i", - boost::program_options::value(&config.base_path), + boost::program_options::value(&config.base_path), "Input base file path"); // positional option @@ -132,7 +132,7 @@ return_code parseArguments(int argc, const auto *executable = argv[0]; boost::program_options::options_description visible_options( - boost::filesystem::path(executable).filename().string() + " [options]"); + std::filesystem::path(executable).filename().string() + " [options]"); visible_options.add(generic_options).add(config_options); // parse command line options @@ -216,9 +216,9 @@ try 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!"; return false; diff --git a/src/tools/routed.cpp b/src/tools/routed.cpp index 4f2fae5ef..cfaf56e6c 100644 --- a/src/tools/routed.cpp +++ b/src/tools/routed.cpp @@ -12,7 +12,6 @@ #include #include -#include #include #include @@ -22,6 +21,7 @@ #include #include +#include #include #include #include @@ -102,7 +102,7 @@ void validate(boost::any &v, const std::vector &values, double *, d // generate boost::program_options object for the routing part inline unsigned generateServerProgramOptions(const int argc, const char *argv[], - boost::filesystem::path &base_path, + std::filesystem::path &base_path, std::string &ip_address, int &ip_port, bool &trial, @@ -110,7 +110,7 @@ inline unsigned generateServerProgramOptions(const int argc, int &requested_thread_num, short &keepalive_timeout) { - using boost::filesystem::path; + using std::filesystem::path; using boost::program_options::value; const auto hardware_threads = std::max(1, std::thread::hardware_concurrency()); @@ -148,7 +148,7 @@ inline unsigned generateServerProgramOptions(const int argc, value(&config.use_shared_memory)->implicit_value(true)->default_value(false), "Load data from shared memory") // ("memory_file", - value(&config.memory_file), + value(&config.memory_file), "DEPRECATED: Will behave the same as --mmap.")( "mmap,m", value(&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 boost::program_options::options_description hidden_options("Hidden options"); hidden_options.add_options()( - "base,b", value(&base_path), "base path to .osrm file"); + "base,b", value(&base_path), "base path to .osrm file"); // positional option boost::program_options::positional_options_description positional_options; @@ -204,7 +204,7 @@ inline unsigned generateServerProgramOptions(const int argc, const auto *executable = argv[0]; boost::program_options::options_description visible_options( - boost::filesystem::path(executable).filename().string() + " []"); + std::filesystem::path(executable).filename().string() + " []"); visible_options.add(generic_options).add(config_options); // parse command line options @@ -267,7 +267,7 @@ try int ip_port; EngineConfig config; - boost::filesystem::path base_path; + std::filesystem::path base_path; int requested_thread_num = 1; short keepalive_timeout = 5; diff --git a/src/tools/store.cpp b/src/tools/store.cpp index e821610e8..6cd555f04 100644 --- a/src/tools/store.cpp +++ b/src/tools/store.cpp @@ -11,11 +11,11 @@ #include "util/version.hpp" #include -#include #include #include #include +#include using namespace osrm; @@ -97,7 +97,7 @@ void springClean() bool generateDataStoreOptions(const int argc, const char *argv[], std::string &verbosity, - boost::filesystem::path &base_path, + std::filesystem::path &base_path, int &max_wait, std::string &dataset_name, 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 boost::program_options::options_description hidden_options("Hidden options"); hidden_options.add_options()("base,b", - boost::program_options::value(&base_path), + boost::program_options::value(&base_path), "base path to .osrm file"); // positional option @@ -168,7 +168,7 @@ bool generateDataStoreOptions(const int argc, const auto *executable = argv[0]; boost::program_options::options_description visible_options( - boost::filesystem::path(executable).filename().string() + " [] "); + std::filesystem::path(executable).filename().string() + " [] "); visible_options.add(generic_options).add(config_options); // print help options if no infile is specified @@ -242,7 +242,7 @@ try util::LogPolicy::GetInstance().Unmute(); std::string verbosity; - boost::filesystem::path base_path; + std::filesystem::path base_path; int max_wait = -1; std::string dataset_name; bool list_datasets = false; diff --git a/src/updater/updater.cpp b/src/updater/updater.cpp index d467675df..c3ec35f05 100644 --- a/src/updater/updater.cpp +++ b/src/updater/updater.cpp @@ -24,7 +24,6 @@ #include "util/typedefs.hpp" #include -#include #include #include @@ -37,6 +36,7 @@ #include #include #include +#include #include #include #include @@ -426,7 +426,7 @@ void saveDatasourcesNames(const UpdaterConfig &config) // for rendering in the debug tiles. 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++; } diff --git a/src/util/timezones.cpp b/src/util/timezones.cpp index 3f478eff3..cc0e0f108 100644 --- a/src/util/timezones.cpp +++ b/src/util/timezones.cpp @@ -3,14 +3,13 @@ #include "util/geojson_validation.hpp" #include "util/log.hpp" -#include -#include #include #include #include #include +#include #include #include #include @@ -40,7 +39,7 @@ Timezoner::Timezoner(const char geojson[], std::time_t 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; diff --git a/unit_tests/common/temporary_file.hpp b/unit_tests/common/temporary_file.hpp index 68f2538ca..80729c9e2 100644 --- a/unit_tests/common/temporary_file.hpp +++ b/unit_tests/common/temporary_file.hpp @@ -1,16 +1,38 @@ #ifndef UNIT_TESTS_TEMPORARY_FILE_HPP #define UNIT_TESTS_TEMPORARY_FILE_HPP -#include +#include +#include +#include +#include + +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 pick(0, sizeof(chrs) - 2); + + std::string s; + s.reserve(length); + + while(length--) + { + s += chrs[pick(rg)]; + } + return s; +} 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() { boost::filesystem::remove(path); } + ~TemporaryFile() { std::filesystem::remove(path); } - boost::filesystem::path path; + std::filesystem::path path; }; #endif // UNIT_TESTS_TEMPORARY_FILE_HPP diff --git a/unit_tests/extractor/location_dependent_data_tests.cpp b/unit_tests/extractor/location_dependent_data_tests.cpp index 86f36eb72..d70a48bbd 100644 --- a/unit_tests/extractor/location_dependent_data_tests.cpp +++ b/unit_tests/extractor/location_dependent_data_tests.cpp @@ -1,11 +1,14 @@ #include "extractor/location_dependent_data.hpp" #include "../common/range_tools.hpp" +#include "../common/temporary_file.hpp" -#include #include +#include +#include #include +#include #include BOOST_AUTO_TEST_SUITE(location_dependent_data_tests) @@ -16,14 +19,13 @@ using point_t = LocationDependentData::point_t; 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; } - ~LocationDataFixture() { remove(temporary_file); } - boost::filesystem::path temporary_file; + TemporaryFile temporary_file; }; BOOST_AUTO_TEST_CASE(polygon_tests) @@ -50,7 +52,7 @@ BOOST_AUTO_TEST_CASE(polygon_tests) } ]})json"); - LocationDependentData data({fixture.temporary_file}); + LocationDependentData data({fixture.temporary_file.path}); BOOST_CHECK(data.GetPropertyIndexes(point_t(0, 0)).empty()); CHECK_EQUAL_RANGE(data.GetPropertyIndexes(point_t(1, 1)), 0); @@ -86,7 +88,7 @@ BOOST_AUTO_TEST_CASE(multy_polygon_tests) } ]})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, -3)).empty()); @@ -117,7 +119,7 @@ BOOST_AUTO_TEST_CASE(polygon_merging_tests) } ]})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, 1)), 0); @@ -153,7 +155,7 @@ BOOST_AUTO_TEST_CASE(staircase_polygon) } ]})json"); - LocationDependentData data({fixture.temporary_file}); + LocationDependentData data({fixture.temporary_file.path}); // all corners BOOST_CHECK(!data.GetPropertyIndexes(point_t(0, 0)).empty()); diff --git a/unit_tests/extractor/name_table.cpp b/unit_tests/extractor/name_table.cpp index 7f06e9298..f8c152f9f 100644 --- a/unit_tests/extractor/name_table.cpp +++ b/unit_tests/extractor/name_table.cpp @@ -3,11 +3,11 @@ #include "../common/temporary_file.hpp" -#include #include #include #include +#include #include #include #include diff --git a/unit_tests/extractor/raster_source.cpp b/unit_tests/extractor/raster_source.cpp index 1721f3d39..8ecbca688 100644 --- a/unit_tests/extractor/raster_source.cpp +++ b/unit_tests/extractor/raster_source.cpp @@ -4,9 +4,10 @@ #include -#include #include +#include + BOOST_AUTO_TEST_SUITE(raster_source) using namespace osrm; diff --git a/unit_tests/storage/data_layout.cpp b/unit_tests/storage/data_layout.cpp index b9ef8e8ba..de0d77656 100644 --- a/unit_tests/storage/data_layout.cpp +++ b/unit_tests/storage/data_layout.cpp @@ -3,10 +3,10 @@ #include "../common/range_tools.hpp" #include "../common/temporary_file.hpp" -#include #include #include +#include BOOST_AUTO_TEST_SUITE(data_layout) diff --git a/unit_tests/storage/serialization.cpp b/unit_tests/storage/serialization.cpp index 4b38e43d1..d369a9841 100644 --- a/unit_tests/storage/serialization.cpp +++ b/unit_tests/storage/serialization.cpp @@ -5,9 +5,9 @@ #include "../common/range_tools.hpp" #include "../common/temporary_file.hpp" -#include #include +#include #include BOOST_AUTO_TEST_SUITE(serialization) diff --git a/unit_tests/updater/timezoner.cpp b/unit_tests/updater/timezoner.cpp index 9f4a3744a..473fa4be0 100644 --- a/unit_tests/updater/timezoner.cpp +++ b/unit_tests/updater/timezoner.cpp @@ -2,9 +2,10 @@ #include "util/geojson_validation.hpp" #include "util/timezones.hpp" -#include #include +#include + BOOST_AUTO_TEST_SUITE(timezoner) using namespace osrm; @@ -22,7 +23,7 @@ BOOST_AUTO_TEST_CASE(timezoner_test) std::time_t now = time(0); 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)); // missing opening bracket diff --git a/unit_tests/util/serialization.cpp b/unit_tests/util/serialization.cpp index dffb0ea03..be2b963a7 100644 --- a/unit_tests/util/serialization.cpp +++ b/unit_tests/util/serialization.cpp @@ -3,9 +3,10 @@ #include "../common/range_tools.hpp" #include "../common/temporary_file.hpp" -#include #include +#include + BOOST_AUTO_TEST_SUITE(serialization) using namespace osrm; diff --git a/unit_tests/util/static_rtree.cpp b/unit_tests/util/static_rtree.cpp index f46aa7387..d1c4897ac 100644 --- a/unit_tests/util/static_rtree.cpp +++ b/unit_tests/util/static_rtree.cpp @@ -241,7 +241,7 @@ void sampling_verify_rtree(RTreeT &rtree, } template -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); }