[libcxx] adds concept std::regular
Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can
Depends on D97911
Reviewed By: EricWF, #libc, Quuxplusone
Differential Revision: https://reviews.llvm.org/D98154
GitOrigin-RevId: 8d4af1b6e033fc6eba52d862cd93dc8939fea916
diff --git a/include/concepts b/include/concepts
index 930f3c4..0a4e7d5 100644
--- a/include/concepts
+++ b/include/concepts
@@ -385,6 +385,9 @@
template<class _Tp>
concept semiregular = copyable<_Tp> && default_initializable<_Tp>;
+template<class _Tp>
+concept regular = semiregular<_Tp> && equality_comparable<_Tp>;
+
// [concept.invocable]
template<class _Fn, class... _Args>
concept invocable = requires(_Fn&& __fn, _Args&&... __args) {