diff --git a/CHANGELOG.md b/CHANGELOG.md index 028cb8c2353..d7b462d2e22 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - FIXED: Fix bindings compilation issue on the latest Node. Update NAN to 2.17.0. [#6416](https://github.com/Project-OSRM/osrm-backend/pull/6416) - CHANGED: Make edge metrics strongly typed [#6420](https://github.com/Project-OSRM/osrm-backend/pull/6420) - FIXED: Typo in file name src/util/timed_historgram.cpp -> src/util/timed_histogram.cpp [#6428](https://github.com/Project-OSRM/osrm-backend/issues/6428) + - CHANGED: Replace boost::string_ref with std::string_view [#6433](https://github.com/Project-OSRM/osrm-backend/pull/6433) - Routing: - FIXED: Fix adding traffic signal penalties during compression [#6419](https://github.com/Project-OSRM/osrm-backend/pull/6419) # 5.27.1 diff --git a/include/engine/api/base_api.hpp b/include/engine/api/base_api.hpp index 086c787de57..0cd066d0f8a 100644 --- a/include/engine/api/base_api.hpp +++ b/include/engine/api/base_api.hpp @@ -57,8 +57,8 @@ class BaseAPI { // TODO: check forward/reverse const auto toName = [this](const auto &phantom) { - return facade.GetNameForID(facade.GetNameIndex(phantom.forward_segment_id.id)) - .to_string(); + return std::string( + facade.GetNameForID(facade.GetNameIndex(phantom.forward_segment_id.id))); }; const auto noEmpty = [](const auto &name) { return !name.empty(); }; @@ -128,8 +128,8 @@ class BaseAPI static_cast(static_cast(util::toFloating(snapped_location.lat)))); const auto toName = [this](const auto &phantom) { - return facade.GetNameForID(facade.GetNameIndex(phantom.forward_segment_id.id)) - .to_string(); + return std::string( + facade.GetNameForID(facade.GetNameIndex(phantom.forward_segment_id.id))); }; const auto noEmpty = [](const auto &name) { return !name.empty(); }; diff --git a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp index 0548e056950..48d00e0c1ef 100644 --- a/include/engine/datafacade/contiguous_internalmem_datafacade.hpp +++ b/include/engine/datafacade/contiguous_internalmem_datafacade.hpp @@ -142,7 +142,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade extractor::Datasources *m_datasources; std::uint32_t m_check_sum; - StringView m_data_timestamp; + std::string_view m_data_timestamp; util::vector_view m_coordinate_list; extractor::PackedOSMIDsView m_osmnodeid_list; util::vector_view m_lane_description_offsets; @@ -408,32 +408,32 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade return edge_based_node_data.GetNameID(edge_based_node_id); } - StringView GetNameForID(const NameID id) const override final + std::string_view GetNameForID(const NameID id) const override final { return m_name_table.GetNameForID(id); } - StringView GetRefForID(const NameID id) const override final + std::string_view GetRefForID(const NameID id) const override final { return m_name_table.GetRefForID(id); } - StringView GetPronunciationForID(const NameID id) const override final + std::string_view GetPronunciationForID(const NameID id) const override final { return m_name_table.GetPronunciationForID(id); } - StringView GetDestinationsForID(const NameID id) const override final + std::string_view GetDestinationsForID(const NameID id) const override final { return m_name_table.GetDestinationsForID(id); } - StringView GetExitsForID(const NameID id) const override final + std::string_view GetExitsForID(const NameID id) const override final { return m_name_table.GetExitsForID(id); } - StringView GetDatasourceName(const DatasourceID id) const override final + std::string_view GetDatasourceName(const DatasourceID id) const override final { return m_datasources->GetSourceName(id); } diff --git a/include/engine/datafacade/datafacade_base.hpp b/include/engine/datafacade/datafacade_base.hpp index 936ccf0c2a9..8ecd5946e54 100644 --- a/include/engine/datafacade/datafacade_base.hpp +++ b/include/engine/datafacade/datafacade_base.hpp @@ -26,7 +26,6 @@ #include "util/integer_range.hpp" #include "util/packed_vector.hpp" #include "util/string_util.hpp" -#include "util/string_view.hpp" #include "util/typedefs.hpp" #include "osrm/coordinate.hpp" @@ -37,6 +36,7 @@ #include #include +#include #include #include @@ -47,8 +47,6 @@ namespace engine namespace datafacade { -using StringView = util::StringView; - class BaseDataFacade { public: @@ -113,7 +111,7 @@ class BaseDataFacade GetUncompressedReverseDatasources(const PackedGeometryID id) const = 0; // Gets the name of a datasource - virtual StringView GetDatasourceName(const DatasourceID id) const = 0; + virtual std::string_view GetDatasourceName(const DatasourceID id) const = 0; virtual osrm::guidance::TurnInstruction GetTurnInstructionForEdgeID(const EdgeID edge_based_edge_id) const = 0; @@ -157,15 +155,15 @@ class BaseDataFacade virtual NameID GetNameIndex(const NodeID edge_based_node_id) const = 0; - virtual StringView GetNameForID(const NameID id) const = 0; + virtual std::string_view GetNameForID(const NameID id) const = 0; - virtual StringView GetRefForID(const NameID id) const = 0; + virtual std::string_view GetRefForID(const NameID id) const = 0; - virtual StringView GetPronunciationForID(const NameID id) const = 0; + virtual std::string_view GetPronunciationForID(const NameID id) const = 0; - virtual StringView GetDestinationsForID(const NameID id) const = 0; + virtual std::string_view GetDestinationsForID(const NameID id) const = 0; - virtual StringView GetExitsForID(const NameID id) const = 0; + virtual std::string_view GetExitsForID(const NameID id) const = 0; virtual bool GetContinueStraightDefault() const = 0; diff --git a/include/engine/guidance/assemble_leg.hpp b/include/engine/guidance/assemble_leg.hpp index 19e7ebffebe..595f09b998b 100644 --- a/include/engine/guidance/assemble_leg.hpp +++ b/include/engine/guidance/assemble_leg.hpp @@ -145,11 +145,11 @@ inline std::string assembleSummary(const datafacade::BaseDataFacade &facade, const auto name_id_to_string = [&](const NameID name_id) { const auto name = facade.GetNameForID(name_id); if (!name.empty()) - return name.to_string(); + return std::string(name); else { const auto ref = facade.GetRefForID(name_id); - return ref.to_string(); + return std::string(ref); } }; diff --git a/include/engine/guidance/assemble_steps.hpp b/include/engine/guidance/assemble_steps.hpp index 18e09d972d5..2f1b06924ee 100644 --- a/include/engine/guidance/assemble_steps.hpp +++ b/include/engine/guidance/assemble_steps.hpp @@ -140,11 +140,11 @@ inline std::vector assembleSteps(const datafacade::BaseDataFacade &fa steps.push_back(RouteStep{path_point.from_edge_based_node, step_name_id, is_segregated, - name.to_string(), - ref.to_string(), - pronunciation.to_string(), - destinations.to_string(), - exits.to_string(), + std::string(name), + std::string(ref), + std::string(pronunciation), + std::string(destinations), + std::string(exits), NO_ROTARY_NAME, NO_ROTARY_NAME, from_alias(segment_duration) / 10., @@ -241,11 +241,11 @@ inline std::vector assembleSteps(const datafacade::BaseDataFacade &fa steps.push_back(RouteStep{leg_data[leg_data.size() - 1].from_edge_based_node, step_name_id, is_segregated, - facade.GetNameForID(step_name_id).to_string(), - facade.GetRefForID(step_name_id).to_string(), - facade.GetPronunciationForID(step_name_id).to_string(), - facade.GetDestinationsForID(step_name_id).to_string(), - facade.GetExitsForID(step_name_id).to_string(), + std::string(facade.GetNameForID(step_name_id)), + std::string(facade.GetRefForID(step_name_id)), + std::string(facade.GetPronunciationForID(step_name_id)), + std::string(facade.GetDestinationsForID(step_name_id)), + std::string(facade.GetExitsForID(step_name_id)), NO_ROTARY_NAME, NO_ROTARY_NAME, from_alias(duration) / 10., @@ -287,11 +287,11 @@ inline std::vector assembleSteps(const datafacade::BaseDataFacade &fa steps.push_back(RouteStep{source_node_id, source_name_id, is_segregated, - facade.GetNameForID(source_name_id).to_string(), - facade.GetRefForID(source_name_id).to_string(), - facade.GetPronunciationForID(source_name_id).to_string(), - facade.GetDestinationsForID(source_name_id).to_string(), - facade.GetExitsForID(source_name_id).to_string(), + std::string(facade.GetNameForID(source_name_id)), + std::string(facade.GetRefForID(source_name_id)), + std::string(facade.GetPronunciationForID(source_name_id)), + std::string(facade.GetDestinationsForID(source_name_id)), + std::string(facade.GetExitsForID(source_name_id)), NO_ROTARY_NAME, NO_ROTARY_NAME, from_alias(duration) / 10., @@ -330,11 +330,11 @@ inline std::vector assembleSteps(const datafacade::BaseDataFacade &fa steps.push_back(RouteStep{target_node_id, target_name_id, facade.IsSegregated(target_node_id), - facade.GetNameForID(target_name_id).to_string(), - facade.GetRefForID(target_name_id).to_string(), - facade.GetPronunciationForID(target_name_id).to_string(), - facade.GetDestinationsForID(target_name_id).to_string(), - facade.GetExitsForID(target_name_id).to_string(), + std::string(facade.GetNameForID(target_name_id)), + std::string(facade.GetRefForID(target_name_id)), + std::string(facade.GetPronunciationForID(target_name_id)), + std::string(facade.GetDestinationsForID(target_name_id)), + std::string(facade.GetExitsForID(target_name_id)), NO_ROTARY_NAME, NO_ROTARY_NAME, ZERO_DURATION, diff --git a/include/extractor/datasources.hpp b/include/extractor/datasources.hpp index a4f872656e5..ded71b6113e 100644 --- a/include/extractor/datasources.hpp +++ b/include/extractor/datasources.hpp @@ -1,9 +1,12 @@ #ifndef OSRM_EXTRACT_DATASOURCES_HPP #define OSRM_EXTRACT_DATASOURCES_HPP +#include "util/typedefs.hpp" + +#include +#include #include -#include -#include +#include namespace osrm { @@ -22,11 +25,11 @@ class Datasources std::fill(sources.begin(), sources.end(), '\0'); } - util::StringView GetSourceName(DatasourceID id) const + std::string_view GetSourceName(DatasourceID id) const { auto begin = sources.data() + (MAX_LENGTH_NAME * id); - return util::StringView{begin, lengths[id]}; + return std::string_view{begin, lengths[id]}; } void SetSourceName(DatasourceID id, const std::string &name) diff --git a/include/extractor/name_table.hpp b/include/extractor/name_table.hpp index ff0d27ae192..44cc06f8904 100644 --- a/include/extractor/name_table.hpp +++ b/include/extractor/name_table.hpp @@ -2,10 +2,10 @@ #define OSRM_EXTRACTOR_NAME_TABLE_HPP #include "util/indexed_data.hpp" -#include "util/string_view.hpp" #include "util/typedefs.hpp" #include +#include namespace osrm { @@ -50,7 +50,7 @@ template class NameTableImpl { public: using IndexedData = - util::detail::IndexedDataImpl, Ownership>; + util::detail::IndexedDataImpl, Ownership>; using ResultType = typename IndexedData::ResultType; using ValueType = typename IndexedData::ValueType; @@ -58,7 +58,7 @@ template class NameTableImpl NameTableImpl(IndexedData indexed_data_) : indexed_data{std::move(indexed_data_)} {} - util::StringView GetNameForID(const NameID id) const + std::string_view GetNameForID(const NameID id) const { if (id == INVALID_NAMEID) return {}; @@ -66,7 +66,7 @@ template class NameTableImpl return indexed_data.at(id + 0); } - util::StringView GetDestinationsForID(const NameID id) const + std::string_view GetDestinationsForID(const NameID id) const { if (id == INVALID_NAMEID) return {}; @@ -74,7 +74,7 @@ template class NameTableImpl return indexed_data.at(id + 1); } - util::StringView GetExitsForID(const NameID id) const + std::string_view GetExitsForID(const NameID id) const { if (id == INVALID_NAMEID) return {}; @@ -82,7 +82,7 @@ template class NameTableImpl return indexed_data.at(id + 4); } - util::StringView GetRefForID(const NameID id) const + std::string_view GetRefForID(const NameID id) const { if (id == INVALID_NAMEID) return {}; @@ -91,7 +91,7 @@ template class NameTableImpl return indexed_data.at(id + OFFSET_REF); } - util::StringView GetPronunciationForID(const NameID id) const + std::string_view GetPronunciationForID(const NameID id) const { if (id == INVALID_NAMEID) return {}; diff --git a/include/extractor/suffix_table.hpp b/include/extractor/suffix_table.hpp index 5d16fe6b7d6..cadfb5e2e60 100644 --- a/include/extractor/suffix_table.hpp +++ b/include/extractor/suffix_table.hpp @@ -2,9 +2,9 @@ #define OSRM_EXTRACTOR_SUFFIX_LIST_HPP_ #include +#include #include - -#include "util/string_view.hpp" +#include namespace osrm { @@ -23,7 +23,7 @@ class SuffixTable final // check whether a string is part of the know suffix list bool isSuffix(const std::string &possible_suffix) const; - bool isSuffix(util::StringView possible_suffix) const; + bool isSuffix(std::string_view possible_suffix) const; private: // Store lower-cased strings in SuffixTable and a set of StringViews for quick membership @@ -36,7 +36,7 @@ class SuffixTable final // require us to first convert StringViews into strings (allocation), do the membership, // and destroy the StringView again. std::vector suffixes; - std::unordered_set suffix_set; + std::unordered_set suffix_set; }; } /* namespace extractor */ diff --git a/include/storage/view_factory.hpp b/include/storage/view_factory.hpp index bbc490ce39f..80db376bf5c 100644 --- a/include/storage/view_factory.hpp +++ b/include/storage/view_factory.hpp @@ -263,7 +263,7 @@ inline auto make_partition_view(const SharedDataIndex &index, const std::string inline auto make_timestamp_view(const SharedDataIndex &index, const std::string &name) { - return util::StringView(index.GetBlockPtr(name), index.GetBlockEntries(name)); + return std::string_view(index.GetBlockPtr(name), index.GetBlockEntries(name)); } inline auto make_cell_storage_view(const SharedDataIndex &index, const std::string &name) diff --git a/include/util/guidance/name_announcements.hpp b/include/util/guidance/name_announcements.hpp index fa8f9db430f..32202974da9 100644 --- a/include/util/guidance/name_announcements.hpp +++ b/include/util/guidance/name_announcements.hpp @@ -27,8 +27,8 @@ namespace guidance // Name Change Logic // Used both during Extraction as well as during Post-Processing -inline util::StringView longest_common_substring(const util::StringView &lhs, - const util::StringView &rhs) +inline std::string_view longest_common_substring(const std::string_view lhs, + const std::string_view rhs) { if (lhs.empty() || rhs.empty()) return ""; @@ -70,7 +70,11 @@ template inline auto decompose(const StringView &lhs, cons const auto trim = [](StringView view) { // we compare suffixes based on this value, it might break UTF chars, but as long as we are // consistent in handling, we do not create bad results - std::string str = boost::to_lower_copy(view.to_string()); + std::string str; + str.reserve(view.size()); + std::transform(view.begin(), view.end(), std::back_inserter(str), [](unsigned char c) { + return std::tolower(c); + }); auto front = str.find_first_not_of(' '); if (front == std::string::npos) @@ -129,20 +133,20 @@ inline bool requiresNameAnnounced(const StringView &from_name, const auto name_is_contained = boost::starts_with(from_name, to_name) || boost::starts_with(to_name, from_name); - const auto checkForPrefixOrSuffixChange = - [](const StringView &first, const StringView &second, const SuffixTable &suffix_table) { - std::string first_prefix, first_suffix, second_prefix, second_suffix; - std::tie(first_prefix, first_suffix, second_prefix, second_suffix) = - decompose(first, second); - - const auto checkTable = [&](const std::string &str) { - return str.empty() || suffix_table.isSuffix(str); - }; - - return checkTable(first_prefix) && checkTable(first_suffix) && - checkTable(second_prefix) && checkTable(second_suffix); + const auto checkForPrefixOrSuffixChange = [](const std::string_view first, + const std::string_view second, + const SuffixTable &suffix_table) { + std::string first_prefix, first_suffix, second_prefix, second_suffix; + std::tie(first_prefix, first_suffix, second_prefix, second_suffix) = + decompose(first, second); + const auto checkTable = [&](const std::string &str) { + return str.empty() || suffix_table.isSuffix(str); }; + return checkTable(first_prefix) && checkTable(first_suffix) && checkTable(second_prefix) && + checkTable(second_suffix); + }; + const auto is_suffix_change = checkForPrefixOrSuffixChange(from_name, to_name, suffix_table); const auto names_are_equal = from_name == to_name || name_is_contained || is_suffix_change; const auto name_is_removed = !from_name.empty() && to_name.empty(); @@ -201,17 +205,17 @@ inline bool requiresNameAnnounced(const std::string &from_name, struct NopSuffixTable final { NopSuffixTable() {} - bool isSuffix(const StringView &) const { return false; } + bool isSuffix(const std::string_view) const { return false; } } static const table; - return requiresNameAnnounced(util::StringView(from_name), - util::StringView(from_ref), - util::StringView(from_pronunciation), - util::StringView(from_exits), - util::StringView(to_name), - util::StringView(to_ref), - util::StringView(to_pronunciation), - util::StringView(to_exits), + return requiresNameAnnounced(std::string_view(from_name), + std::string_view(from_ref), + std::string_view(from_pronunciation), + std::string_view(from_exits), + std::string_view(to_name), + std::string_view(to_ref), + std::string_view(to_pronunciation), + std::string_view(to_exits), table); } diff --git a/include/util/indexed_data.hpp b/include/util/indexed_data.hpp index 5ce5bd4b382..a09425b33ef 100644 --- a/include/util/indexed_data.hpp +++ b/include/util/indexed_data.hpp @@ -4,7 +4,6 @@ #include "storage/tar_fwd.hpp" #include "util/exception.hpp" -#include "util/string_view.hpp" #include "util/vector_view.hpp" #include @@ -14,6 +13,7 @@ #include #include #include +#include #include namespace osrm @@ -365,14 +365,14 @@ template struct Indexe std::enable_if_t::value_type>::value>; template > - typename std::enable_if::value, T>::type + typename std::enable_if::value, T>::type adapt(const Iter first, const Iter last) const { return ResultType(first, last); } template > - typename std::enable_if::value, T>::type + typename std::enable_if::value, T>::type adapt(const Iter first, const Iter last) const { auto diff = std::distance(first, last); diff --git a/include/util/string_view.hpp b/include/util/string_view.hpp deleted file mode 100644 index c7ab0df3d1d..00000000000 --- a/include/util/string_view.hpp +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef OSRM_STRING_VIEW_HPP -#define OSRM_STRING_VIEW_HPP - -#include -#include - -namespace osrm -{ -namespace util -{ -// Convenience typedef: boost::string_ref, boost::string_view or C++17's string_view -using StringView = boost::string_ref; - -} // namespace util -} // namespace osrm - -// Specializing hash<> for user-defined type in std namespace, this is standard conforming. -namespace std -{ -template <> struct hash<::osrm::util::StringView> final -{ - std::size_t operator()(::osrm::util::StringView v) const noexcept - { - // Bring into scope and call un-qualified for ADL: - // remember we want to be able to switch impl. above. - using std::begin; - using std::end; - - return boost::hash_range(begin(v), end(v)); - } -}; -} // namespace std - -#endif /* OSRM_STRING_VIEW_HPP */ diff --git a/src/engine/plugins/tile.cpp b/src/engine/plugins/tile.cpp index f932abe73ba..94490662ac8 100644 --- a/src/engine/plugins/tile.cpp +++ b/src/engine/plugins/tile.cpp @@ -4,7 +4,6 @@ #include "engine/plugins/tile.hpp" #include "util/coordinate_calculation.hpp" -#include "util/string_view.hpp" #include "util/vector_tile.hpp" #include "util/web_mercator.hpp" @@ -20,6 +19,7 @@ #include #include #include +#include #include #include @@ -340,7 +340,7 @@ class SpeedLayerFeatureBuilder : public vtzero::linestring_feature_builder add_property(m_layer.key_duration, m_layer.double_index(value)); } - void set_name(const boost::string_ref &value) + void set_name(const std::string_view value) { add_property( m_layer.key_name, @@ -518,7 +518,7 @@ void encodeVectorTile(const DataFacadeBase &facade, fbuilder.set_speed(speed_kmh_idx); fbuilder.set_is_small(component_id.is_tiny); fbuilder.set_datasource( - facade.GetDatasourceName(forward_datasource_idx).to_string()); + std::string(facade.GetDatasourceName(forward_datasource_idx))); fbuilder.set_weight(from_alias(forward_weight) / 10.0); fbuilder.set_duration(from_alias(forward_duration) / 10.0); fbuilder.set_name(name); @@ -552,7 +552,7 @@ void encodeVectorTile(const DataFacadeBase &facade, fbuilder.set_speed(speed_kmh_idx); fbuilder.set_is_small(component_id.is_tiny); fbuilder.set_datasource( - facade.GetDatasourceName(reverse_datasource_idx).to_string()); + std::string(facade.GetDatasourceName(reverse_datasource_idx))); fbuilder.set_weight(from_alias(reverse_weight) / 10.0); fbuilder.set_duration(from_alias(reverse_duration) / 10.0); fbuilder.set_name(name); diff --git a/src/extractor/suffix_table.cpp b/src/extractor/suffix_table.cpp index 26f9afd91a2..a835562f938 100644 --- a/src/extractor/suffix_table.cpp +++ b/src/extractor/suffix_table.cpp @@ -19,16 +19,16 @@ SuffixTable::SuffixTable(ScriptingEnvironment &scripting_environment) boost::algorithm::to_lower(suffix); auto into = std::inserter(suffix_set, end(suffix_set)); - auto to_view = [](const auto &s) { return util::StringView{s}; }; + auto to_view = [](const auto &s) { return std::string_view{s}; }; std::transform(begin(suffixes), end(suffixes), into, to_view); } bool SuffixTable::isSuffix(const std::string &possible_suffix) const { - return isSuffix(util::StringView{possible_suffix}); + return isSuffix(std::string_view{possible_suffix}); } -bool SuffixTable::isSuffix(util::StringView possible_suffix) const +bool SuffixTable::isSuffix(std::string_view possible_suffix) const { return suffix_set.count(possible_suffix) > 0; } diff --git a/src/guidance/segregated_intersection_classification.cpp b/src/guidance/segregated_intersection_classification.cpp index b87d19a350f..f9411a91221 100644 --- a/src/guidance/segregated_intersection_classification.cpp +++ b/src/guidance/segregated_intersection_classification.cpp @@ -24,7 +24,7 @@ struct EdgeInfo NodeID node; - util::StringView name; + std::string_view name; bool reversed; diff --git a/unit_tests/engine/offline_facade.cpp b/unit_tests/engine/offline_facade.cpp index e4b0a2be765..afe1c725334 100644 --- a/unit_tests/engine/offline_facade.cpp +++ b/unit_tests/engine/offline_facade.cpp @@ -203,7 +203,10 @@ class ContiguousInternalMemoryDataFacade return DatasourceReverseRange(DatasourceForwardRange()); } - StringView GetDatasourceName(const DatasourceID /*id*/) const override { return StringView{}; } + std::string_view GetDatasourceName(const DatasourceID /*id*/) const override + { + return std::string_view{}; + } guidance::TurnInstruction GetTurnInstructionForEdgeID(const EdgeID /*id*/) const override { @@ -270,11 +273,20 @@ class ContiguousInternalMemoryDataFacade bool HasLaneData(const EdgeID /*id*/) const override { return false; } NameID GetNameIndex(const NodeID /*nodeID*/) const override { return EMPTY_NAMEID; } - StringView GetNameForID(const NameID /*id*/) const override { return StringView{}; } - StringView GetRefForID(const NameID /*id*/) const override { return StringView{}; } - StringView GetPronunciationForID(const NameID /*id*/) const override { return StringView{}; } - StringView GetDestinationsForID(const NameID /*id*/) const override { return StringView{}; } - StringView GetExitsForID(const NameID /*id*/) const override { return StringView{}; } + std::string_view GetNameForID(const NameID /*id*/) const override { return std::string_view{}; } + std::string_view GetRefForID(const NameID /*id*/) const override { return std::string_view{}; } + std::string_view GetPronunciationForID(const NameID /*id*/) const override + { + return std::string_view{}; + } + std::string_view GetDestinationsForID(const NameID /*id*/) const override + { + return std::string_view{}; + } + std::string_view GetExitsForID(const NameID /*id*/) const override + { + return std::string_view{}; + } bool GetContinueStraightDefault() const override { return false; } std::string GetTimestamp() const override { return ""; } double GetMapMatchingMaxSpeed() const override { return 0; } diff --git a/unit_tests/mocks/mock_datafacade.hpp b/unit_tests/mocks/mock_datafacade.hpp index bfaf41415af..81471835b2c 100644 --- a/unit_tests/mocks/mock_datafacade.hpp +++ b/unit_tests/mocks/mock_datafacade.hpp @@ -26,8 +26,6 @@ namespace test class MockBaseDataFacade : public engine::datafacade::BaseDataFacade { - using StringView = util::StringView; - public: bool ExcludeNode(const NodeID) const override { return false; }; @@ -95,7 +93,7 @@ class MockBaseDataFacade : public engine::datafacade::BaseDataFacade return DatasourceReverseRange(DatasourceForwardRange()); } - StringView GetDatasourceName(const DatasourceID) const override final { return {}; } + std::string_view GetDatasourceName(const DatasourceID) const override final { return {}; } osrm::guidance::TurnInstruction GetTurnInstructionForEdgeID(const EdgeID /* id */) const override @@ -154,11 +152,11 @@ class MockBaseDataFacade : public engine::datafacade::BaseDataFacade NameID GetNameIndex(const NodeID /* id */) const override { return 0; } - StringView GetNameForID(const NameID) const override final { return {}; } - StringView GetRefForID(const NameID) const override final { return {}; } - StringView GetPronunciationForID(const NameID) const override final { return {}; } - StringView GetDestinationsForID(const NameID) const override final { return {}; } - StringView GetExitsForID(const NameID) const override final { return {}; } + std::string_view GetNameForID(const NameID) const override final { return {}; } + std::string_view GetRefForID(const NameID) const override final { return {}; } + std::string_view GetPronunciationForID(const NameID) const override final { return {}; } + std::string_view GetDestinationsForID(const NameID) const override final { return {}; } + std::string_view GetExitsForID(const NameID) const override final { return {}; } bool GetContinueStraightDefault() const override { return true; } double GetMapMatchingMaxSpeed() const override { return 180 / 3.6; } diff --git a/unit_tests/util/indexed_data.cpp b/unit_tests/util/indexed_data.cpp index 6d9eecbe910..40b79f9be8c 100644 --- a/unit_tests/util/indexed_data.cpp +++ b/unit_tests/util/indexed_data.cpp @@ -136,7 +136,7 @@ BOOST_AUTO_TEST_CASE(check_string_view) std::string name_data = "hellostringview"; std::vector name_offsets = {0, 5, 11, 15}; - IndexedData> indexed_data( + IndexedData> indexed_data( name_offsets.begin(), name_offsets.end(), name_data.begin()); BOOST_CHECK_EQUAL(indexed_data.at(0), "hello");