[libc++] Implements concept constructible_from

Implements parts of:
- P0898R3 Standard Library Concepts
- P1754 Rename concepts to standard_case for C++20, while we still can

Depends on: D91004

Reviewed By: ldionne, cjdb, #libc

Differential Revision: https://reviews.llvm.org/D91986

GitOrigin-RevId: 18fe3fe0e74b161c723e1e5958ead795ca4fdb7e
diff --git a/include/concepts b/include/concepts
index cf5f9d6..86e0325 100644
--- a/include/concepts
+++ b/include/concepts
@@ -162,6 +162,11 @@
 template<class _Tp>
 concept destructible = _VSTD::is_nothrow_destructible_v<_Tp>;
 
+// [concept.constructible]
+template<class _Tp, class... _Args>
+concept constructible_from =
+    destructible<_Tp> && _VSTD::is_constructible_v<_Tp, _Args...>;
+
 #endif //_LIBCPP_STD_VER > 17 && defined(__cpp_concepts) && __cpp_concepts >= 201811L
 
 _LIBCPP_END_NAMESPACE_STD