[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) {