[libc++] Remove <functional> includes

Reviewed By: var-const, #libc, ldionne

Spies: #libc_vendors, ldionne, libcxx-commits, miyuki

Differential Revision: https://reviews.llvm.org/D124123
This commit is contained in:
Nikolas Klauser
2022-04-23 10:07:24 +02:00
parent be744da01f
commit a83f4b9cda
17 changed files with 9 additions and 20 deletions

View File

@@ -67,10 +67,15 @@ API Changes
``<filesystem>`` header. The associated macro
``_LIBCPP_DEPRECATED_EXPERIMENTAL_FILESYSTEM`` has also been removed.
- Some libc++ headers no longer transitively include all of ``<algorithm>``, ``<chrono>`` and ``<utility>``.
If, after updating libc++, you see compiler errors related to missing declarations in
namespace ``std``, it might be because one of your source files now needs to
``#include <algorithm>``, ``#include <chrono>`` and/or ``#include <utility>``.
- Some libc++ headers no longer transitively include all of:
- ``<algorithm>``
- ``<chrono>``
- ``<functional>``
- ``<utility>``
If, after updating libc++, you see compiler errors related to missing declarations
in namespace ``std``, it might be because one of your source files now needs to
include one or more of the headers listed above.
- The integer distributions ``binomial_distribution``, ``discrete_distribution``,
``geometric_distribution``, ``negative_binomial_distribution``, ``poisson_distribution``,

View File

@@ -881,7 +881,6 @@ template <class BidirectionalIterator, class Compare>
#include <__debug>
#include <cstddef>
#include <cstring>
#include <functional> // TODO: Remove this include
#include <initializer_list>
#include <iterator>
#include <memory>

View File

@@ -49,7 +49,6 @@ template <class P> struct hash<coroutine_handle<P>>;
#include <__functional/hash.h>
#include <cstddef>
#include <experimental/__config>
#include <functional> // TODO: Remove this include
#include <memory> // for hash<T*>
#include <new>
#include <type_traits>

View File

@@ -113,7 +113,6 @@
#include <__utility/move.h>
#include <__utility/swap.h>
#include <experimental/__config>
#include <functional> // TODO: Remove this include
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@@ -654,7 +654,6 @@ public:
#include <array>
#include <cstddef>
#include <experimental/__config>
#include <functional> // TODO: Remove this include
#include <tuple>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@@ -206,7 +206,6 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
#include <__hash_table>
#include <algorithm>
#include <ext/__hash>
#include <functional> // TODO: Remove this include
#include <stdexcept>
#include <type_traits>

View File

@@ -197,7 +197,6 @@ template <class Value, class Hash, class Pred, class Alloc>
#include <__hash_table>
#include <algorithm>
#include <ext/__hash>
#include <functional> // TODO: Remove this include
#if defined(__DEPRECATED) && __DEPRECATED
#if defined(_LIBCPP_WARNING)

View File

@@ -539,7 +539,6 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
#include <__utility/forward.h>
#include <__utility/swap.h>
#include <compare>
#include <functional> // TODO: Remove this include
#include <initializer_list>
#include <iterator> // __libcpp_erase_if_container
#include <memory>

View File

@@ -192,7 +192,6 @@ template<class Callable, class ...Args>
#include <__threading_support>
#include <__utility/forward.h>
#include <cstdint>
#include <functional> // TODO: Remove this include
#include <memory>
#ifndef _LIBCPP_CXX03_LANG
# include <tuple>

View File

@@ -147,7 +147,6 @@ template<class T>
#include <__assert> // all public C++ headers provide the assertion handler
#include <__config>
#include <cmath> // for isnormal
#include <functional> // TODO: Remove this include
#include <iterator>
#include <version>

View File

@@ -172,7 +172,6 @@ template<class T>
#include <__utility/move.h>
#include <__utility/swap.h>
#include <compare>
#include <functional> // TODO: Remove this include
#include <initializer_list>
#include <new>
#include <stdexcept>

View File

@@ -227,7 +227,6 @@ template <class T, class Container, class Compare>
#include <__utility/forward.h>
#include <compare>
#include <deque>
#include <functional> // TODO: Remove this include
#include <type_traits>
#include <vector>
#include <version>

View File

@@ -481,7 +481,6 @@ erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred); // C++20
#include <__tree>
#include <__utility/forward.h>
#include <compare>
#include <functional> // TODO: Remove this include
#include <initializer_list>
#include <iterator> // __libcpp_erase_if_container
#include <version>

View File

@@ -90,7 +90,6 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
#include <__threading_support>
#include <__utility/forward.h>
#include <cstddef>
#include <functional> // TODO: Remove this include
#include <iosfwd>
#include <memory>
#include <system_error>

View File

@@ -525,7 +525,6 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
#include <__node_handle>
#include <__utility/forward.h>
#include <compare>
#include <functional> // TODO: Remove this include
#include <iterator> // __libcpp_erase_if_container
#include <stdexcept>
#include <tuple>

View File

@@ -469,7 +469,6 @@ template <class Value, class Hash, class Pred, class Alloc>
#include <__node_handle>
#include <__utility/forward.h>
#include <compare>
#include <functional> // TODO: Remove this include
#include <iterator> // __libcpp_erase_if_container
#include <version>

View File

@@ -357,7 +357,6 @@ template <class T> unspecified2 end(const valarray<T>& v);
#include <__utility/swap.h>
#include <cmath>
#include <cstddef>
#include <functional> // TODO: Remove this include
#include <initializer_list>
#include <new>
#include <version>