Remove usage of StringView typedef
This commit is contained in:
parent
274dcc58a5
commit
5c9d0d152c
@ -142,7 +142,7 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade
|
|||||||
extractor::Datasources *m_datasources;
|
extractor::Datasources *m_datasources;
|
||||||
|
|
||||||
std::uint32_t m_check_sum;
|
std::uint32_t m_check_sum;
|
||||||
StringView m_data_timestamp;
|
std::string_view m_data_timestamp;
|
||||||
util::vector_view<util::Coordinate> m_coordinate_list;
|
util::vector_view<util::Coordinate> m_coordinate_list;
|
||||||
extractor::PackedOSMIDsView m_osmnodeid_list;
|
extractor::PackedOSMIDsView m_osmnodeid_list;
|
||||||
util::vector_view<std::uint32_t> m_lane_description_offsets;
|
util::vector_view<std::uint32_t> m_lane_description_offsets;
|
||||||
@ -408,32 +408,32 @@ class ContiguousInternalMemoryDataFacadeBase : public BaseDataFacade
|
|||||||
return edge_based_node_data.GetNameID(edge_based_node_id);
|
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);
|
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);
|
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);
|
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);
|
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);
|
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);
|
return m_datasources->GetSourceName(id);
|
||||||
}
|
}
|
||||||
|
@ -47,8 +47,6 @@ namespace engine
|
|||||||
namespace datafacade
|
namespace datafacade
|
||||||
{
|
{
|
||||||
|
|
||||||
using StringView = util::StringView;
|
|
||||||
|
|
||||||
class BaseDataFacade
|
class BaseDataFacade
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -113,7 +111,7 @@ class BaseDataFacade
|
|||||||
GetUncompressedReverseDatasources(const PackedGeometryID id) const = 0;
|
GetUncompressedReverseDatasources(const PackedGeometryID id) const = 0;
|
||||||
|
|
||||||
// Gets the name of a datasource
|
// 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
|
virtual osrm::guidance::TurnInstruction
|
||||||
GetTurnInstructionForEdgeID(const EdgeID edge_based_edge_id) const = 0;
|
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 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;
|
virtual bool GetContinueStraightDefault() const = 0;
|
||||||
|
|
||||||
|
@ -22,11 +22,11 @@ class Datasources
|
|||||||
std::fill(sources.begin(), sources.end(), '\0');
|
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);
|
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)
|
void SetSourceName(DatasourceID id, const std::string &name)
|
||||||
|
@ -50,7 +50,7 @@ template <storage::Ownership Ownership> class NameTableImpl
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
using IndexedData =
|
using IndexedData =
|
||||||
util::detail::IndexedDataImpl<util::VariableGroupBlock<16, util::StringView>, Ownership>;
|
util::detail::IndexedDataImpl<util::VariableGroupBlock<16, std::string_view>, Ownership>;
|
||||||
using ResultType = typename IndexedData::ResultType;
|
using ResultType = typename IndexedData::ResultType;
|
||||||
using ValueType = typename IndexedData::ValueType;
|
using ValueType = typename IndexedData::ValueType;
|
||||||
|
|
||||||
@ -58,7 +58,7 @@ template <storage::Ownership Ownership> class NameTableImpl
|
|||||||
|
|
||||||
NameTableImpl(IndexedData indexed_data_) : indexed_data{std::move(indexed_data_)} {}
|
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)
|
if (id == INVALID_NAMEID)
|
||||||
return {};
|
return {};
|
||||||
@ -66,7 +66,7 @@ template <storage::Ownership Ownership> class NameTableImpl
|
|||||||
return indexed_data.at(id + 0);
|
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)
|
if (id == INVALID_NAMEID)
|
||||||
return {};
|
return {};
|
||||||
@ -74,7 +74,7 @@ template <storage::Ownership Ownership> class NameTableImpl
|
|||||||
return indexed_data.at(id + 1);
|
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)
|
if (id == INVALID_NAMEID)
|
||||||
return {};
|
return {};
|
||||||
@ -82,7 +82,7 @@ template <storage::Ownership Ownership> class NameTableImpl
|
|||||||
return indexed_data.at(id + 4);
|
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)
|
if (id == INVALID_NAMEID)
|
||||||
return {};
|
return {};
|
||||||
@ -91,7 +91,7 @@ template <storage::Ownership Ownership> class NameTableImpl
|
|||||||
return indexed_data.at(id + OFFSET_REF);
|
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)
|
if (id == INVALID_NAMEID)
|
||||||
return {};
|
return {};
|
||||||
|
@ -23,7 +23,7 @@ class SuffixTable final
|
|||||||
|
|
||||||
// check whether a string is part of the know suffix list
|
// check whether a string is part of the know suffix list
|
||||||
bool isSuffix(const std::string &possible_suffix) const;
|
bool isSuffix(const std::string &possible_suffix) const;
|
||||||
bool isSuffix(util::StringView possible_suffix) const;
|
bool isSuffix(std::string_view possible_suffix) const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Store lower-cased strings in SuffixTable and a set of StringViews for quick membership
|
// 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,
|
// require us to first convert StringViews into strings (allocation), do the membership,
|
||||||
// and destroy the StringView again.
|
// and destroy the StringView again.
|
||||||
std::vector<std::string> suffixes;
|
std::vector<std::string> suffixes;
|
||||||
std::unordered_set<util::StringView> suffix_set;
|
std::unordered_set<std::string_view> suffix_set;
|
||||||
};
|
};
|
||||||
|
|
||||||
} /* namespace extractor */
|
} /* namespace extractor */
|
||||||
|
@ -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)
|
inline auto make_timestamp_view(const SharedDataIndex &index, const std::string &name)
|
||||||
{
|
{
|
||||||
return util::StringView(index.GetBlockPtr<char>(name), index.GetBlockEntries(name));
|
return std::string_view(index.GetBlockPtr<char>(name), index.GetBlockEntries(name));
|
||||||
}
|
}
|
||||||
|
|
||||||
inline auto make_cell_storage_view(const SharedDataIndex &index, const std::string &name)
|
inline auto make_cell_storage_view(const SharedDataIndex &index, const std::string &name)
|
||||||
|
@ -27,8 +27,8 @@ namespace guidance
|
|||||||
// Name Change Logic
|
// Name Change Logic
|
||||||
// Used both during Extraction as well as during Post-Processing
|
// Used both during Extraction as well as during Post-Processing
|
||||||
|
|
||||||
inline util::StringView longest_common_substring(const util::StringView &lhs,
|
inline std::string_view longest_common_substring(const std::string_view &lhs,
|
||||||
const util::StringView &rhs)
|
const std::string_view &rhs)
|
||||||
{
|
{
|
||||||
if (lhs.empty() || rhs.empty())
|
if (lhs.empty() || rhs.empty())
|
||||||
return "";
|
return "";
|
||||||
@ -132,7 +132,7 @@ inline bool requiresNameAnnounced(const StringView &from_name,
|
|||||||
boost::starts_with(from_name, to_name) || boost::starts_with(to_name, from_name);
|
boost::starts_with(from_name, to_name) || boost::starts_with(to_name, from_name);
|
||||||
|
|
||||||
const auto checkForPrefixOrSuffixChange =
|
const auto checkForPrefixOrSuffixChange =
|
||||||
[](const StringView &first, const StringView &second, const SuffixTable &suffix_table) {
|
[](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::string first_prefix, first_suffix, second_prefix, second_suffix;
|
||||||
std::tie(first_prefix, first_suffix, second_prefix, second_suffix) =
|
std::tie(first_prefix, first_suffix, second_prefix, second_suffix) =
|
||||||
decompose(first, second);
|
decompose(first, second);
|
||||||
@ -203,17 +203,17 @@ inline bool requiresNameAnnounced(const std::string &from_name,
|
|||||||
struct NopSuffixTable final
|
struct NopSuffixTable final
|
||||||
{
|
{
|
||||||
NopSuffixTable() {}
|
NopSuffixTable() {}
|
||||||
bool isSuffix(const StringView &) const { return false; }
|
bool isSuffix(const std::string_view &) const { return false; }
|
||||||
} static const table;
|
} static const table;
|
||||||
|
|
||||||
return requiresNameAnnounced(util::StringView(from_name),
|
return requiresNameAnnounced(std::string_view(from_name),
|
||||||
util::StringView(from_ref),
|
std::string_view(from_ref),
|
||||||
util::StringView(from_pronunciation),
|
std::string_view(from_pronunciation),
|
||||||
util::StringView(from_exits),
|
std::string_view(from_exits),
|
||||||
util::StringView(to_name),
|
std::string_view(to_name),
|
||||||
util::StringView(to_ref),
|
std::string_view(to_ref),
|
||||||
util::StringView(to_pronunciation),
|
std::string_view(to_pronunciation),
|
||||||
util::StringView(to_exits),
|
std::string_view(to_exits),
|
||||||
table);
|
table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -365,14 +365,14 @@ template <typename GroupBlockPolicy, storage::Ownership Ownership> struct Indexe
|
|||||||
std::enable_if_t<std::is_same<T, typename std::iterator_traits<Iter>::value_type>::value>;
|
std::enable_if_t<std::is_same<T, typename std::iterator_traits<Iter>::value_type>::value>;
|
||||||
|
|
||||||
template <typename T = ResultType, typename Iter, typename = IsValueIterator<Iter, ValueType>>
|
template <typename T = ResultType, typename Iter, typename = IsValueIterator<Iter, ValueType>>
|
||||||
typename std::enable_if<!std::is_same<T, StringView>::value, T>::type
|
typename std::enable_if<!std::is_same<T, std::string_view>::value, T>::type
|
||||||
adapt(const Iter first, const Iter last) const
|
adapt(const Iter first, const Iter last) const
|
||||||
{
|
{
|
||||||
return ResultType(first, last);
|
return ResultType(first, last);
|
||||||
}
|
}
|
||||||
|
|
||||||
template <typename T = ResultType, typename Iter, typename = IsValueIterator<Iter, ValueType>>
|
template <typename T = ResultType, typename Iter, typename = IsValueIterator<Iter, ValueType>>
|
||||||
typename std::enable_if<std::is_same<T, StringView>::value, T>::type
|
typename std::enable_if<std::is_same<T, std::string_view>::value, T>::type
|
||||||
adapt(const Iter first, const Iter last) const
|
adapt(const Iter first, const Iter last) const
|
||||||
{
|
{
|
||||||
auto diff = std::distance(first, last);
|
auto diff = std::distance(first, last);
|
||||||
|
@ -9,7 +9,7 @@ namespace osrm
|
|||||||
namespace util
|
namespace util
|
||||||
{
|
{
|
||||||
// Convenience typedef: boost::string_ref, boost::string_view or C++17's string_view
|
// Convenience typedef: boost::string_ref, boost::string_view or C++17's string_view
|
||||||
using StringView = std::string_view;
|
// using StringView = std::string_view;
|
||||||
|
|
||||||
} // namespace util
|
} // namespace util
|
||||||
} // namespace osrm
|
} // namespace osrm
|
||||||
|
@ -19,16 +19,16 @@ SuffixTable::SuffixTable(ScriptingEnvironment &scripting_environment)
|
|||||||
boost::algorithm::to_lower(suffix);
|
boost::algorithm::to_lower(suffix);
|
||||||
|
|
||||||
auto into = std::inserter(suffix_set, end(suffix_set));
|
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);
|
std::transform(begin(suffixes), end(suffixes), into, to_view);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SuffixTable::isSuffix(const std::string &possible_suffix) const
|
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;
|
return suffix_set.count(possible_suffix) > 0;
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ struct EdgeInfo
|
|||||||
|
|
||||||
NodeID node;
|
NodeID node;
|
||||||
|
|
||||||
util::StringView name;
|
std::string_view name;
|
||||||
|
|
||||||
bool reversed;
|
bool reversed;
|
||||||
|
|
||||||
|
@ -203,7 +203,7 @@ class ContiguousInternalMemoryDataFacade<routing_algorithms::offline::Algorithm>
|
|||||||
return DatasourceReverseRange(DatasourceForwardRange());
|
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
|
guidance::TurnInstruction GetTurnInstructionForEdgeID(const EdgeID /*id*/) const override
|
||||||
{
|
{
|
||||||
@ -270,11 +270,11 @@ class ContiguousInternalMemoryDataFacade<routing_algorithms::offline::Algorithm>
|
|||||||
|
|
||||||
bool HasLaneData(const EdgeID /*id*/) const override { return false; }
|
bool HasLaneData(const EdgeID /*id*/) const override { return false; }
|
||||||
NameID GetNameIndex(const NodeID /*nodeID*/) const override { return EMPTY_NAMEID; }
|
NameID GetNameIndex(const NodeID /*nodeID*/) const override { return EMPTY_NAMEID; }
|
||||||
StringView GetNameForID(const NameID /*id*/) const override { return StringView{}; }
|
std::string_view GetNameForID(const NameID /*id*/) const override { return std::string_view{}; }
|
||||||
StringView GetRefForID(const NameID /*id*/) const override { return StringView{}; }
|
std::string_view GetRefForID(const NameID /*id*/) const override { return std::string_view{}; }
|
||||||
StringView GetPronunciationForID(const NameID /*id*/) const override { return StringView{}; }
|
std::string_view GetPronunciationForID(const NameID /*id*/) const override { return std::string_view{}; }
|
||||||
StringView GetDestinationsForID(const NameID /*id*/) const override { return StringView{}; }
|
std::string_view GetDestinationsForID(const NameID /*id*/) const override { return std::string_view{}; }
|
||||||
StringView GetExitsForID(const NameID /*id*/) const override { return StringView{}; }
|
std::string_view GetExitsForID(const NameID /*id*/) const override { return std::string_view{}; }
|
||||||
bool GetContinueStraightDefault() const override { return false; }
|
bool GetContinueStraightDefault() const override { return false; }
|
||||||
std::string GetTimestamp() const override { return ""; }
|
std::string GetTimestamp() const override { return ""; }
|
||||||
double GetMapMatchingMaxSpeed() const override { return 0; }
|
double GetMapMatchingMaxSpeed() const override { return 0; }
|
||||||
|
@ -26,8 +26,6 @@ namespace test
|
|||||||
|
|
||||||
class MockBaseDataFacade : public engine::datafacade::BaseDataFacade
|
class MockBaseDataFacade : public engine::datafacade::BaseDataFacade
|
||||||
{
|
{
|
||||||
using StringView = util::StringView;
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool ExcludeNode(const NodeID) const override { return false; };
|
bool ExcludeNode(const NodeID) const override { return false; };
|
||||||
|
|
||||||
@ -95,7 +93,7 @@ class MockBaseDataFacade : public engine::datafacade::BaseDataFacade
|
|||||||
return DatasourceReverseRange(DatasourceForwardRange());
|
return DatasourceReverseRange(DatasourceForwardRange());
|
||||||
}
|
}
|
||||||
|
|
||||||
StringView GetDatasourceName(const DatasourceID) const override final { return {}; }
|
std::string_view GetDatasourceName(const DatasourceID) const override final { return {}; }
|
||||||
|
|
||||||
osrm::guidance::TurnInstruction
|
osrm::guidance::TurnInstruction
|
||||||
GetTurnInstructionForEdgeID(const EdgeID /* id */) const override
|
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; }
|
NameID GetNameIndex(const NodeID /* id */) const override { return 0; }
|
||||||
|
|
||||||
StringView GetNameForID(const NameID) const override final { return {}; }
|
std::string_view GetNameForID(const NameID) const override final { return {}; }
|
||||||
StringView GetRefForID(const NameID) const override final { return {}; }
|
std::string_view GetRefForID(const NameID) const override final { return {}; }
|
||||||
StringView GetPronunciationForID(const NameID) const override final { return {}; }
|
std::string_view GetPronunciationForID(const NameID) const override final { return {}; }
|
||||||
StringView GetDestinationsForID(const NameID) const override final { return {}; }
|
std::string_view GetDestinationsForID(const NameID) const override final { return {}; }
|
||||||
StringView GetExitsForID(const NameID) const override final { return {}; }
|
std::string_view GetExitsForID(const NameID) const override final { return {}; }
|
||||||
|
|
||||||
bool GetContinueStraightDefault() const override { return true; }
|
bool GetContinueStraightDefault() const override { return true; }
|
||||||
double GetMapMatchingMaxSpeed() const override { return 180 / 3.6; }
|
double GetMapMatchingMaxSpeed() const override { return 180 / 3.6; }
|
||||||
|
@ -136,7 +136,7 @@ BOOST_AUTO_TEST_CASE(check_string_view)
|
|||||||
std::string name_data = "hellostringview";
|
std::string name_data = "hellostringview";
|
||||||
std::vector<std::uint32_t> name_offsets = {0, 5, 11, 15};
|
std::vector<std::uint32_t> name_offsets = {0, 5, 11, 15};
|
||||||
|
|
||||||
IndexedData<VariableGroupBlock<16, StringView>> indexed_data(
|
IndexedData<VariableGroupBlock<16, std::string_view>> indexed_data(
|
||||||
name_offsets.begin(), name_offsets.end(), name_data.begin());
|
name_offsets.begin(), name_offsets.end(), name_data.begin());
|
||||||
|
|
||||||
BOOST_CHECK_EQUAL(indexed_data.at(0), "hello");
|
BOOST_CHECK_EQUAL(indexed_data.at(0), "hello");
|
||||||
|
Loading…
Reference in New Issue
Block a user