[vcpkg] Fix build on old compilers.
MODIFY
include/vcpkg/base/expected.h
include/vcpkg/base/expected.h
#include <vcpkg/base/stringliteral.h>
#include <system_error>
+#include <type_traits>
namespace vcpkg
{
@@ -111,7 +112,7 @@ namespace vcpkg
ExpectedT(S&& s, ExpectedRightTag = {}) : m_s(std::move(s)) { }
ExpectedT(const T& t, ExpectedLeftTag = {}) : m_t(t) { }
- template<class = std::enable_if<!std::is_reference_v<T>>>
+ template<class = std::enable_if<!std::is_reference<T>::value>>
ExpectedT(T&& t, ExpectedLeftTag = {}) : m_t(std::move(t))
{
}

MODIFY
include/vcpkg/base/span.h
include/vcpkg/base/span.h
#include <array>
#include <cstddef>
#include <initializer_list>
+#include <type_traits>
#include <vector>
namespace vcpkg
@@ -29,7 +30,7 @@ namespace vcpkg
{
}
- template<size_t N, class = std::enable_if_t<std::is_const_v<T>>>
+ template<size_t N, class = std::enable_if_t<std::is_const<T>::value>>
constexpr Span(std::remove_const_t<T> (&arr)[N]) noexcept : m_ptr(arr), m_count(N)
{
}

[vcpkg] Fix build on old compilers. (#12950)