Files
MINGW-packages/mingw-w64-libfilezilla/0001-process-fix-template-definition-order.patch
2023-07-20 18:04:53 +05:30

69 lines
1.3 KiB
Diff

--- a/lib/process.cpp
+++ b/lib/process.cpp
@@ -381,6 +381,32 @@
handler_->filter_events(process_event_filter);
}
+ template<class A, class B>
+ constexpr bool cmp_less(A a, B b) noexcept
+ {
+ static_assert(std::is_integral_v<A>);
+ static_assert(std::is_integral_v<B>);
+ if constexpr (std::is_signed_v<A> == std::is_signed_v<B>) {
+ return a < b;
+ }
+ else if constexpr (std::is_signed_v<A>) {
+ if (a < 0) {
+ return true;
+ }
+ else {
+ return std::make_unsigned_t<A>(a) < b;
+ }
+ }
+ else {
+ if (b < 0) {
+ return false;
+ }
+ else {
+ return a < std::make_unsigned_t<B>(b);
+ }
+ }
+ }
+
template<typename Out, typename In>
constexpr Out clamped_cast(In in) noexcept
{
@@ -446,32 +472,6 @@
return true;
}
-
- template<class A, class B>
- constexpr bool cmp_less(A a, B b) noexcept
- {
- static_assert(std::is_integral_v<A>);
- static_assert(std::is_integral_v<B>);
- if constexpr (std::is_signed_v<A> == std::is_signed_v<B>) {
- return a < b;
- }
- else if constexpr (std::is_signed_v<A>) {
- if (a < 0) {
- return true;
- }
- else {
- return std::make_unsigned_t<A>(a) < b;
- }
- }
- else {
- if (b < 0) {
- return false;
- }
- else {
- return a < std::make_unsigned_t<B>(b);
- }
- }
- }
rwresult read(void* buffer, size_t len)
{