[libc++] Granularize <concept> includes

Reviewed By: ldionne, #libc

Spies: libcxx-commits

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

NOKEYCHECK=True
GitOrigin-RevId: 89b356f05ab7aa3d96fc7b68aece6e7a5bdb0db5
diff --git a/include/fstream b/include/fstream
index 95f345f..1d2cb79 100644
--- a/include/fstream
+++ b/include/fstream
@@ -1744,4 +1744,8 @@
 
 _LIBCPP_POP_MACROS
 
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+#  include <concepts>
+#endif
+
 #endif // _LIBCPP_FSTREAM