Using PathView to pass paths to APIs
This commit is contained in:
@@ -12,16 +12,16 @@ namespace detail
|
||||
// windows path system
|
||||
template<typename parse_separators, typename format_separator>
|
||||
template<typename T>
|
||||
T WindowsSystemCustom<parse_separators, format_separator>::format_absolute(const tl::vector<tl::string>& members)
|
||||
T WindowsSystemCustom<parse_separators, format_separator>::format_abs(tl::span<const tl::string> members)
|
||||
{
|
||||
return tl::simple_path_system<detail::EmptyRootTag, parse_separators, format_separator>::template format_absolute<T>(members);
|
||||
return tl::simple_path_system<detail::EmptyRootTag, parse_separators, format_separator>::template format_abs<T>(members);
|
||||
}
|
||||
|
||||
template<typename parse_separators, typename format_separator>
|
||||
void WindowsSystemCustom<parse_separators, format_separator>::parse_absolute(tl::vector<tl::string>& o_elements, const char* path, size_t size)
|
||||
void WindowsSystemCustom<parse_separators, format_separator>::parse_abs(tl::vector<tl::string>& o_elements, const char* path, size_t size)
|
||||
{
|
||||
// On windows, the drive letter case is undefined. To avoid issues (hashing, etc), we always convert the drive letter to uppercase
|
||||
tl::simple_path_system<detail::EmptyRootTag, parse_separators, format_separator>::parse_absolute(o_elements, path, size);
|
||||
tl::simple_path_system<detail::EmptyRootTag, parse_separators, format_separator>::parse_abs(o_elements, path, size);
|
||||
if (!o_elements.empty())
|
||||
{
|
||||
tl::string& str = o_elements.front();
|
||||
@@ -42,7 +42,7 @@ namespace detail
|
||||
}
|
||||
|
||||
template<typename parse_separators, typename format_separator>
|
||||
bool WindowsSystemCustom<parse_separators, format_separator>::validate_abs_path(const tl::vector<tl::string>& members)
|
||||
bool WindowsSystemCustom<parse_separators, format_separator>::validate_abs_path(tl::span<const tl::string> members)
|
||||
{
|
||||
return !members.empty() && match(members[0].c_str(), members[0].size());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user