yuzu/externals/vcpkg/ports/selene/trivial-pixel.patch

24 lines
1.3 KiB
Diff
Executable File

--- a/selene/img/pixel/Pixel.hpp
+++ b/selene/img/pixel/Pixel.hpp
@@ -45,6 +45,6 @@
constexpr Pixel() noexcept = default; ///< Default constructor. Pixel values are uninitialized.
- template <typename... Args, typename = std::enable_if_t<sizeof...(Args) == nr_channels_>>
- constexpr Pixel(Args... args) noexcept;
+ template <typename Arg1, typename... Args, typename = std::enable_if_t<sizeof...(Args) + 1 == nr_channels_>>
+ constexpr Pixel(Arg1 arg1, Args... args) noexcept;
constexpr explicit Pixel(const std::array<T, nr_channels>& arr) noexcept;
@@ -216,8 +216,8 @@
template <typename T, std::size_t nr_channels_, PixelFormat pixel_format_>
-template <typename... Args, typename>
-constexpr Pixel<T, nr_channels_, pixel_format_>::Pixel(Args... args) noexcept
- : data_{{static_cast<T>(args)...}}
+template <typename Arg1, typename... Args, typename>
+constexpr Pixel<T, nr_channels_, pixel_format_>::Pixel(Arg1 arg1, Args... args) noexcept
+ : data_{{static_cast<T>(arg1), static_cast<T>(args)...}}
{
static_assert(std::is_trivial<Pixel<T, nr_channels_, pixel_format_>>::value, "Pixel type is not trivial");
static_assert(std::is_standard_layout<Pixel<T, nr_channels_, pixel_format_>>::value,
"Pixel type is not standard layout");