mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-12-27 18:31:15 +08:00
[vcpkg] Fix build for mingw (#15504)
* fix build * stop the templateness none of the major three implementations have string::const_iterator = char const*
This commit is contained in:
parent
2a42024b53
commit
36cd510119
@ -48,20 +48,11 @@ namespace fs
|
||||
inline path u8path(std::initializer_list<char> il) { return u8path(vcpkg::StringView{il.begin(), il.end()}); }
|
||||
inline path u8path(const char* s) { return u8path(vcpkg::StringView{s, s + ::strlen(s)}); }
|
||||
|
||||
#if defined(_MSC_VER)
|
||||
inline path u8path(std::string::const_iterator first, std::string::const_iterator last)
|
||||
{
|
||||
if (first == last)
|
||||
{
|
||||
return path{};
|
||||
}
|
||||
else
|
||||
{
|
||||
auto firstp = &*first;
|
||||
return u8path(vcpkg::StringView{firstp, firstp + (last - first)});
|
||||
}
|
||||
auto firstp = &*first;
|
||||
return u8path(vcpkg::StringView{firstp, firstp + (last - first)});
|
||||
}
|
||||
#endif
|
||||
|
||||
std::string u8string(const path& p);
|
||||
std::string generic_u8string(const path& p);
|
||||
|
@ -104,6 +104,11 @@ namespace
|
||||
|
||||
fs::path fs::u8path(vcpkg::StringView s)
|
||||
{
|
||||
if (s.size() == 0)
|
||||
{
|
||||
return fs::path();
|
||||
}
|
||||
|
||||
#if defined(_WIN32)
|
||||
return fs::path(vcpkg::Strings::to_utf16(s));
|
||||
#else
|
||||
|
Loading…
x
Reference in New Issue
Block a user