[libc++] Replace includes of <utility> with specific detail headers
authorArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Fri, 4 Feb 2022 18:09:30 +0000 (13:09 -0500)
committerArthur O'Dwyer <arthur.j.odwyer@gmail.com>
Fri, 4 Feb 2022 22:08:32 +0000 (17:08 -0500)
commitea2206d70db1aaf1b0e2b01415292ec807108880
tree3c5980e1f6dbefb732e1e73dd3e7f60819b3ce44
parenta27304c50f769ba5b5241efd31e5401389cb580a
[libc++] Replace includes of <utility> with specific detail headers

Basically a rebase of D104980; most of that patch had already happened
via gradual drive-by changes, but this finishes it up.
Don't touch the inclusions from `<__functional_base>`, `<__hash_table>`,
or `<__locale>`; those could be removed if we propagated the
inclusions up to the includers of those files, but there are lots
of those includers.

`<algorithm>`, `<functional>`, and `<memory>` already include `<utility>`
at the top level. `<iterator>` did not, so I've added it there.

Differential Revision: https://reviews.llvm.org/D119020
27 files changed:
libcxx/include/__algorithm/minmax.h
libcxx/include/__algorithm/minmax_element.h
libcxx/include/__algorithm/mismatch.h
libcxx/include/__algorithm/move.h
libcxx/include/__algorithm/move_backward.h
libcxx/include/__algorithm/partition_copy.h
libcxx/include/__algorithm/remove_if.h
libcxx/include/__algorithm/search.h
libcxx/include/__algorithm/unique_copy.h
libcxx/include/__functional/bind_front.h
libcxx/include/__functional/default_searcher.h
libcxx/include/__functional/function.h
libcxx/include/__functional/identity.h
libcxx/include/__functional/mem_fn.h
libcxx/include/__functional/not_fn.h
libcxx/include/__functional/ranges_operations.h
libcxx/include/__iterator/iter_move.h
libcxx/include/__memory/allocation_guard.h
libcxx/include/__memory/compressed_pair.h
libcxx/include/__memory/construct_at.h
libcxx/include/__memory/raw_storage_iterator.h
libcxx/include/__memory/shared_ptr.h
libcxx/include/__memory/temporary_buffer.h
libcxx/include/__memory/uninitialized_algorithms.h
libcxx/include/__memory/unique_ptr.h
libcxx/include/algorithm
libcxx/include/iterator