[libc++] Add __is_callable type trait and begin granularizing type_traits
`__is_callable` is required to ensure that the classic algorithms are only called with functions or functors. I also begin to granularize `<type_traits>`.
Reviewed By: ldionne, #libc
Spies: libcxx-commits, mgorny
Differential Revision: https://reviews.llvm.org/D123114
NOKEYCHECK=True
GitOrigin-RevId: 08920cc04343e69ee8a56168a5911acddf40e6ba
diff --git a/include/module.modulemap b/include/module.modulemap
index cf74a07..0f07fd1 100644
--- a/include/module.modulemap
+++ b/include/module.modulemap
@@ -956,6 +956,9 @@
header "type_traits"
export functional.__functional.unwrap_ref
export *
+
+ module integral_constant { private header "__type_traits/integral_constant.h" }
+ module is_callable { private header "__type_traits/is_callable.h" }
}
module typeindex {
header "typeindex"