[libcxx][functional][modular] splices <functional> into modular headers

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

NOKEYCHECK=True
GitOrigin-RevId: 050b064f15ee56ee0b42c9b957a3dd0f32532394
diff --git a/include/__string b/include/__string
index a00c736..b77a7fb 100644
--- a/include/__string
+++ b/include/__string
@@ -11,11 +11,20 @@
 #define _LIBCPP___STRING
 
 #include <__config>
-#include <algorithm>  // for search and min
-#include <cstdio>     // for EOF
-#include <cstring>    // for memcpy
-#include <cwchar>     // for wmemcpy
-#include <memory>     // for __murmur2_or_cityhash
+#include <__algorithm/copy.h>
+#include <__algorithm/copy_backward.h>
+#include <__algorithm/copy_n.h>
+#include <__algorithm/fill_n.h>
+#include <__algorithm/find_first_of.h>
+#include <__algorithm/find_end.h>
+#include <__algorithm/min.h>
+#include <__functional/hash.h>     // for __murmur2_or_cityhash
+#include <__iterator/iterator_traits.h>
+#include <cstdio>      // for EOF
+#include <cstdint>     // for uint_least16_t
+#include <cstring>     // for memcpy
+#include <cwchar>      // for wmemcpy
+#include <type_traits> // for __libcpp_is_constant_evaluated
 
 #include <__debug>