https://github.com/cjdb closed https://github.com/llvm/llvm-project/pull/106433
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -1149,9 +1171,11 @@ struct Proxy {
// Calling swap(Proxy{}, Proxy{}) would fail (pass prvalues)
// Compare operators are defined for the convenience of the tests
- friend constexpr bool operator==(const Proxy&, const Proxy&)
-requires (std::equality_comparable && !
@@ -0,0 +1,54 @@
+// -*- C++ -*-
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-
@@ -1161,9 +1185,11 @@ struct Proxy {
return lhs.data == rhs.data;
}
- friend constexpr auto operator<=>(const Proxy&, const Proxy&)
-requires (std::three_way_comparable && !std::is_reference_v)
- = default;
+ friend constexpr auto operator<=>(const Proxy& lhs, co
@@ -1172,6 +1198,22 @@ struct Proxy {
requires std::three_way_comparable_with, std::decay_t> {
return lhs.data <=> rhs.data;
}
+
+ // Needed to allow certain types to be weakly_incremental
+ constexpr Proxy& operator++()
+requires(HasPreIncrementOp)
+ {
+++
https://github.com/cjdb edited https://github.com/llvm/llvm-project/pull/68494
___
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
@@ -0,0 +1,171 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-
@@ -1149,9 +1171,11 @@ struct Proxy {
// Calling swap(Proxy{}, Proxy{}) would fail (pass prvalues)
// Compare operators are defined for the convenience of the tests
- friend constexpr bool operator==(const Proxy&, const Proxy&)
-requires (std::equality_comparable && !
@@ -0,0 +1,71 @@
+// -*- C++ -*-
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-
@@ -1083,6 +1083,27 @@ rvalue_iterator(T*) -> rvalue_iterator;
static_assert(std::random_access_iterator>);
+// The ProxyDiffTBase allows us to conditionally specify
Proxy::difference_type
+// which we need in certain situations. For example when we want
+// std::weakly_incr
https://github.com/cjdb requested changes to this pull request.
Thanks for working on this, it's an important algorithm to have. I've left some
comments, but would like to see this merged by the end of January.
https://github.com/llvm/llvm-project/pull/68494
@@ -0,0 +1,171 @@
+//===--===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -13,7 +13,7 @@
// Range algorithms should return `std::ranges::dangling` when given a
dangling range.
cjdb wrote:
Please revert and apply in a separate patch.
https://github.com/llvm/llvm-project/pull/68494
___
Author: Christopher Di Bella
Date: 2021-08-11T02:48:53Z
New Revision: c874dd53628db8170d4c5ba3878817abc385a695
URL:
https://github.com/llvm/llvm-project/commit/c874dd53628db8170d4c5ba3878817abc385a695
DIFF:
https://github.com/llvm/llvm-project/commit/c874dd53628db8170d4c5ba3878817abc385a695.dif
16 matches
Mail list logo