[libc++] Granularize <concept> includes

Reviewed By: ldionne, #libc

Spies: libcxx-commits

Differential Revision: https://reviews.llvm.org/D137283
This commit is contained in:
Nikolas Klauser 2022-11-02 20:27:42 +01:00
parent edf885531e
commit 89b356f05a
67 changed files with 133 additions and 74 deletions

View File

@ -17,6 +17,7 @@
#include <__algorithm/ranges_copy_n.h>
#include <__algorithm/transform.h>
#include <__algorithm/unwrap_iter.h>
#include <__concepts/same_as.h>
#include <__config>
#include <__format/concepts.h>
#include <__format/enable_insertable.h>
@ -27,7 +28,6 @@
#include <__iterator/iterator_traits.h>
#include <__iterator/wrap_iter.h>
#include <__utility/move.h>
#include <concepts>
#include <cstddef>
#include <string_view>
#include <type_traits>

View File

@ -18,7 +18,6 @@
#include <__iterator/back_insert_iterator.h>
#include <__iterator/concepts.h>
#include <__utility/move.h>
#include <concepts>
#include <cstddef>
#ifndef _LIBCPP_HAS_NO_LOCALIZATION

View File

@ -19,6 +19,7 @@
#include <__algorithm/find_if.h>
#include <__algorithm/min.h>
#include <__assert>
#include <__concepts/same_as.h>
#include <__config>
#include <__debug>
#include <__format/format_arg.h>
@ -28,7 +29,6 @@
#include <__format/unicode.h>
#include <__variant/monostate.h>
#include <bit>
#include <concepts>
#include <cstdint>
#include <string_view>
#include <type_traits>

View File

@ -10,9 +10,10 @@
#ifndef _LIBCPP___FUNCTIONAL_RANGES_OPERATIONS_H
#define _LIBCPP___FUNCTIONAL_RANGES_OPERATIONS_H
#include <__concepts/equality_comparable.h>
#include <__concepts/totally_ordered.h>
#include <__config>
#include <__utility/forward.h>
#include <concepts>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header

View File

@ -11,6 +11,8 @@
#define _LIBCPP___ITERATOR_ADVANCE_H
#include <__assert>
#include <__concepts/assignable.h>
#include <__concepts/same_as.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/incrementable_traits.h>
@ -18,7 +20,6 @@
#include <__utility/convert_to_integral.h>
#include <__utility/move.h>
#include <__utility/unreachable.h>
#include <concepts>
#include <cstdlib>
#include <limits>
#include <type_traits>

View File

@ -11,6 +11,13 @@
#define _LIBCPP___ITERATOR_COMMON_ITERATOR_H
#include <__assert>
#include <__concepts/assignable.h>
#include <__concepts/constructible.h>
#include <__concepts/convertible_to.h>
#include <__concepts/copyable.h>
#include <__concepts/derived_from.h>
#include <__concepts/equality_comparable.h>
#include <__concepts/same_as.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/incrementable_traits.h>
@ -18,7 +25,6 @@
#include <__iterator/iter_swap.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/readable_traits.h>
#include <concepts>
#include <variant>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,6 +10,21 @@
#ifndef _LIBCPP___ITERATOR_CONCEPTS_H
#define _LIBCPP___ITERATOR_CONCEPTS_H
#include <__concepts/arithmetic.h>
#include <__concepts/assignable.h>
#include <__concepts/common_reference_with.h>
#include <__concepts/constructible.h>
#include <__concepts/copyable.h>
#include <__concepts/derived_from.h>
#include <__concepts/equality_comparable.h>
#include <__concepts/invocable.h>
#include <__concepts/movable.h>
#include <__concepts/predicate.h>
#include <__concepts/regular.h>
#include <__concepts/relation.h>
#include <__concepts/same_as.h>
#include <__concepts/semiregular.h>
#include <__concepts/totally_ordered.h>
#include <__config>
#include <__iterator/incrementable_traits.h>
#include <__iterator/iter_move.h>
@ -17,7 +32,6 @@
#include <__iterator/readable_traits.h>
#include <__memory/pointer_traits.h>
#include <__utility/forward.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,6 +10,11 @@
#define _LIBCPP___ITERATOR_COUNTED_ITERATOR_H
#include <__assert>
#include <__concepts/assignable.h>
#include <__concepts/common_with.h>
#include <__concepts/constructible.h>
#include <__concepts/convertible_to.h>
#include <__concepts/same_as.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/default_sentinel.h>
@ -21,7 +26,6 @@
#include <__memory/pointer_traits.h>
#include <__utility/move.h>
#include <compare>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,9 +10,9 @@
#ifndef _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
#define _LIBCPP___ITERATOR_INCREMENTABLE_TRAITS_H
#include <__concepts/arithmetic.h>
#include <__config>
#include <__type_traits/is_primary_template.h>
#include <concepts>
#include <cstddef>
#include <type_traits>

View File

@ -9,6 +9,8 @@
#ifndef _LIBCPP___ITERATOR_ITER_SWAP_H
#define _LIBCPP___ITERATOR_ITER_SWAP_H
#include <__concepts/class_or_enum.h>
#include <__concepts/swappable.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/iter_move.h>
@ -16,7 +18,6 @@
#include <__iterator/readable_traits.h>
#include <__utility/forward.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,11 +10,17 @@
#ifndef _LIBCPP___ITERATOR_ITERATOR_TRAITS_H
#define _LIBCPP___ITERATOR_ITERATOR_TRAITS_H
#include <__concepts/arithmetic.h>
#include <__concepts/constructible.h>
#include <__concepts/convertible_to.h>
#include <__concepts/copyable.h>
#include <__concepts/equality_comparable.h>
#include <__concepts/same_as.h>
#include <__concepts/totally_ordered.h>
#include <__config>
#include <__fwd/pair.h>
#include <__iterator/incrementable_traits.h>
#include <__iterator/readable_traits.h>
#include <concepts>
#include <cstddef>
#include <type_traits>

View File

@ -10,8 +10,8 @@
#ifndef _LIBCPP___ITERATOR_READABLE_TRAITS_H
#define _LIBCPP___ITERATOR_READABLE_TRAITS_H
#include <__concepts/same_as.h>
#include <__config>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,13 +10,13 @@
#ifndef _LIBCPP___MEMORY_CONCEPTS_H
#define _LIBCPP___MEMORY_CONCEPTS_H
#include <__concepts/same_as.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/iterator_traits.h>
#include <__iterator/readable_traits.h>
#include <__ranges/access.h>
#include <__ranges/concepts.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -9,6 +9,8 @@
#ifndef _LIBCPP___RANGES_COMMON_VIEW_H
#define _LIBCPP___RANGES_COMMON_VIEW_H
#include <__concepts/constructible.h>
#include <__concepts/copyable.h>
#include <__config>
#include <__iterator/common_iterator.h>
#include <__iterator/iterator_traits.h>
@ -21,7 +23,6 @@
#include <__ranges/view_interface.h>
#include <__utility/forward.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,11 +10,13 @@
#ifndef _LIBCPP___RANGES_COPYABLE_BOX_H
#define _LIBCPP___RANGES_COPYABLE_BOX_H
#include <__concepts/constructible.h>
#include <__concepts/copyable.h>
#include <__concepts/movable.h>
#include <__config>
#include <__memory/addressof.h>
#include <__memory/construct_at.h>
#include <__utility/move.h>
#include <concepts>
#include <optional>
#include <type_traits>

View File

@ -11,6 +11,8 @@
#include <__algorithm/min.h>
#include <__assert>
#include <__concepts/constructible.h>
#include <__concepts/convertible_to.h>
#include <__config>
#include <__functional/bind_back.h>
#include <__fwd/span.h>
@ -33,7 +35,6 @@
#include <__utility/auto_cast.h>
#include <__utility/forward.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,8 +10,9 @@
#ifndef _LIBCPP___RANGES_ENABLE_VIEW_H
#define _LIBCPP___RANGES_ENABLE_VIEW_H
#include <__concepts/derived_from.h>
#include <__concepts/same_as.h>
#include <__config>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -10,6 +10,10 @@
#define _LIBCPP___RANGES_FILTER_VIEW_H
#include <__algorithm/ranges_find_if.h>
#include <__concepts/constructible.h>
#include <__concepts/copyable.h>
#include <__concepts/derived_from.h>
#include <__concepts/equality_comparable.h>
#include <__config>
#include <__debug>
#include <__functional/bind_back.h>
@ -30,7 +34,6 @@
#include <__utility/forward.h>
#include <__utility/in_place.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -14,7 +14,6 @@
#include <__iterator/iterator_traits.h> // iter_reference_t
#include <__memory/addressof.h>
#include <__utility/forward.h>
#include <concepts> // constructible_from
#include <optional>
#include <type_traits>

View File

@ -10,13 +10,16 @@
#ifndef _LIBCPP___RANGES_RANGE_ADAPTOR_H
#define _LIBCPP___RANGES_RANGE_ADAPTOR_H
#include <__concepts/constructible.h>
#include <__concepts/derived_from.h>
#include <__concepts/invocable.h>
#include <__concepts/same_as.h>
#include <__config>
#include <__functional/compose.h>
#include <__functional/invoke.h>
#include <__ranges/concepts.h>
#include <__utility/forward.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -9,6 +9,8 @@
#ifndef _LIBCPP___RANGES_REF_VIEW_H
#define _LIBCPP___RANGES_REF_VIEW_H
#include <__concepts/convertible_to.h>
#include <__concepts/different_from.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/incrementable_traits.h>
@ -22,7 +24,6 @@
#include <__ranges/size.h>
#include <__ranges/view_interface.h>
#include <__utility/forward.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -9,6 +9,7 @@
#ifndef _LIBCPP___RANGES_SINGLE_VIEW_H
#define _LIBCPP___RANGES_SINGLE_VIEW_H
#include <__concepts/constructible.h>
#include <__config>
#include <__ranges/copyable_box.h>
#include <__ranges/range_adaptor.h>
@ -16,7 +17,6 @@
#include <__utility/forward.h>
#include <__utility/in_place.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -9,13 +9,13 @@
#ifndef _LIBCPP___RANGES_SIZE_H
#define _LIBCPP___RANGES_SIZE_H
#include <__concepts/arithmetic.h>
#include <__concepts/class_or_enum.h>
#include <__config>
#include <__iterator/concepts.h>
#include <__iterator/iterator_traits.h>
#include <__ranges/access.h>
#include <__utility/auto_cast.h>
#include <concepts>
#include <cstddef>
#include <type_traits>

View File

@ -11,6 +11,8 @@
#include <__algorithm/min.h>
#include <__algorithm/ranges_min.h>
#include <__concepts/constructible.h>
#include <__concepts/convertible_to.h>
#include <__config>
#include <__functional/bind_back.h>
#include <__fwd/span.h>
@ -34,7 +36,6 @@
#include <__utility/auto_cast.h>
#include <__utility/forward.h>
#include <__utility/move.h>
#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)

View File

@ -1917,6 +1917,7 @@ template <class BidirectionalIterator, class Compare>
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <atomic>
# include <concepts>
# include <iterator>
# include <memory>
# include <stdexcept>

View File

@ -699,6 +699,7 @@ _LIBCPP_END_NAMESPACE_STD
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <iterator>
# include <memory>
# include <variant>

View File

@ -534,6 +534,7 @@ _LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <iterator>
# include <utility>
#endif

View File

@ -1152,4 +1152,8 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_BITSET

View File

@ -832,6 +832,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <iosfwd>
#endif

View File

@ -728,4 +728,8 @@ constexpr chrono::year operator ""y(unsigned lo
# pragma GCC system_header
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_CHRONO

View File

@ -553,4 +553,8 @@ _LIBCPP_SUPPRESS_DEPRECATED_POP
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_CODECVT

View File

@ -268,4 +268,8 @@ _LIBCPP_END_NAMESPACE_STD
#endif // !_LIBCPP_HAS_NO_THREADS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_CONDITION_VARIABLE

View File

@ -2943,6 +2943,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -983,6 +983,7 @@ operator!=(const hash_multimap<_Key, _Tp, _Hash, _Pred, _Alloc>& __x,
} // namespace __gnu_cxx
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <iterator>
#endif

View File

@ -663,6 +663,7 @@ operator!=(const hash_multiset<_Value, _Hash, _Pred, _Alloc>& __x,
} // namespace __gnu_cxx
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <iterator>
#endif

View File

@ -461,4 +461,8 @@ inline constexpr bool std::ranges::enable_view<std::filesystem::recursive_direct
# pragma GCC system_header
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_FILESYSTEM

View File

@ -1792,6 +1792,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -1744,4 +1744,8 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_FSTREAM

View File

@ -531,7 +531,6 @@ POLICY: For non-variadic implementations, the number of arguments is limited
#include <__functional/unary_negate.h>
#include <__functional/unwrap_ref.h>
#include <__utility/forward.h>
#include <concepts>
#include <exception>
#include <memory> // TODO: find out why removing this breaks the modules build
#include <type_traits>
@ -543,6 +542,7 @@ POLICY: For non-variadic implementations, the number of arguments is limited
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <tuple>
# include <utility>
#endif

View File

@ -1038,4 +1038,8 @@ defaultfloat(ios_base& __str)
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_IOS

View File

@ -1637,6 +1637,10 @@ extern template class _LIBCPP_EXTERN_TEMPLATE_TYPE_VIS basic_iostream<char>;
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
_LIBCPP_POP_MACROS
#endif // _LIBCPP_ISTREAM

View File

@ -2375,6 +2375,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -4353,6 +4353,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <cstdarg>
# include <iterator>
#endif

View File

@ -2352,6 +2352,7 @@ _LIBCPP_END_NAMESPACE_STD
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
# include <iterator>
# include <utility>

View File

@ -900,6 +900,7 @@ template<size_t N, class T>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <cstddef>
# include <cstdint>
# include <cstring>

View File

@ -704,6 +704,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
#endif

View File

@ -59,8 +59,8 @@ namespace std::numbers {
*/
#include <__assert> // all public C++ headers provide the assertion handler
#include <__concepts/arithmetic.h>
#include <__config>
#include <concepts>
#include <type_traits>
#include <version>
@ -131,4 +131,8 @@ _LIBCPP_END_NAMESPACE_STD
#endif // _LIBCPP_STD_VER > 17
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
#endif
#endif // _LIBCPP_NUMBERS

View File

@ -172,6 +172,7 @@ template<class T>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -959,6 +959,7 @@ struct _LIBCPP_TEMPLATE_VIS uses_allocator<priority_queue<_Tp, _Container, _Comp
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
#endif

View File

@ -1730,6 +1730,7 @@ class piecewise_linear_distribution
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <cmath>
# include <concepts>
# include <cstddef>
# include <cstdint>
# include <iosfwd>

View File

@ -6858,6 +6858,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <iterator>
# include <utility>
#endif

View File

@ -1597,6 +1597,7 @@ _LIBCPP_END_NAMESPACE_STD
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -590,6 +590,7 @@ _LIBCPP_END_NAMESPACE_STD
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -362,6 +362,7 @@ struct _LIBCPP_TEMPLATE_VIS uses_allocator<stack<_Tp, _Container>, _Alloc>
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
#endif

View File

@ -4613,6 +4613,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <functional>
# include <iterator>
# include <new>

View File

@ -1023,6 +1023,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -2646,6 +2646,7 @@ _LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <bit>
# include <concepts>
# include <iterator>
#endif

View File

@ -1816,6 +1816,7 @@ _LIBCPP_END_NAMESPACE_STD
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <concepts>
# include <functional>
# include <iterator>
#endif

View File

@ -4931,6 +4931,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <functional>
#endif

View File

@ -3281,6 +3281,7 @@ _LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <concepts>
# include <typeinfo>
# include <utility>
#endif

View File

@ -335,7 +335,6 @@ filesystem version
format array
format bit
format charconv
format concepts
format cstddef
format cstdint
format cstdlib
@ -650,7 +649,6 @@ random type_traits
random vector
random version
ranges compare
ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list

1 algorithm atomic
335 format array
336 format bit
337 format charconv
format concepts
338 format cstddef
339 format cstdint
340 format cstdlib
649 random vector
650 random version
651 ranges compare
ranges concepts
652 ranges cstddef
653 ranges cstdlib
654 ranges initializer_list

View File

@ -335,7 +335,6 @@ filesystem version
format array
format bit
format charconv
format concepts
format cstddef
format cstdint
format cstdlib
@ -651,7 +650,6 @@ random type_traits
random vector
random version
ranges compare
ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list

1 algorithm atomic
335 format array
336 format bit
337 format charconv
format concepts
338 format cstddef
339 format cstdint
340 format cstdlib
650 random vector
651 random version
652 ranges compare
ranges concepts
653 ranges cstddef
654 ranges cstdlib
655 ranges initializer_list

View File

@ -337,7 +337,6 @@ filesystem version
format array
format bit
format charconv
format concepts
format cstddef
format cstdint
format cstdlib
@ -653,7 +652,6 @@ random type_traits
random vector
random version
ranges compare
ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list

1 algorithm atomic
337 format array
338 format bit
339 format charconv
format concepts
340 format cstddef
341 format cstdint
342 format cstdlib
652 random vector
653 random version
654 ranges compare
ranges concepts
655 ranges cstddef
656 ranges cstdlib
657 ranges initializer_list

View File

@ -337,7 +337,6 @@ filesystem version
format array
format bit
format charconv
format concepts
format cstddef
format cstdint
format cstdlib
@ -653,7 +652,6 @@ random type_traits
random vector
random version
ranges compare
ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list

1 algorithm atomic
337 format array
338 format bit
339 format charconv
format concepts
340 format cstddef
341 format cstdint
342 format cstdlib
652 random vector
653 random version
654 ranges compare
ranges concepts
655 ranges cstddef
656 ranges cstdlib
657 ranges initializer_list

View File

@ -349,7 +349,6 @@ filesystem version
format array
format bit
format charconv
format concepts
format cstddef
format cstdint
format cstdlib
@ -663,7 +662,6 @@ random type_traits
random vector
random version
ranges compare
ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list

1 algorithm atomic
349 format array
350 format bit
351 format charconv
format concepts
352 format cstddef
353 format cstdint
354 format cstdlib
662 random vector
663 random version
664 ranges compare
ranges concepts
665 ranges cstddef
666 ranges cstdlib
667 ranges initializer_list

View File

@ -1,6 +1,5 @@
algorithm bit
algorithm climits
algorithm concepts
algorithm cstddef
algorithm cstdint
algorithm cstdlib
@ -12,7 +11,6 @@ algorithm new
algorithm type_traits
algorithm version
any atomic
any concepts
any cstddef
any cstdint
any cstdlib
@ -26,7 +24,6 @@ any type_traits
any typeinfo
any version
array compare
array concepts
array cstddef
array cstdlib
array initializer_list
@ -59,7 +56,6 @@ bit limits
bit type_traits
bit version
bitset climits
bitset concepts
bitset cstddef
bitset cstdint
bitset cstdlib
@ -75,7 +71,6 @@ bitset version
ccomplex complex
charconv cerrno
charconv cmath
charconv concepts
charconv cstddef
charconv cstdint
charconv cstdlib
@ -88,7 +83,6 @@ chrono bit
chrono charconv
chrono cmath
chrono compare
chrono concepts
chrono cstddef
chrono cstdint
chrono cstdlib
@ -111,7 +105,6 @@ cmath type_traits
cmath version
codecvt atomic
codecvt cctype
codecvt concepts
codecvt cstddef
codecvt cstdint
codecvt cstdlib
@ -142,7 +135,6 @@ concepts cstddef
concepts type_traits
concepts version
condition_variable atomic
condition_variable concepts
condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
@ -171,7 +163,6 @@ cwchar cwctype
cwctype cctype
deque atomic
deque compare
deque concepts
deque cstddef
deque cstdint
deque cstdlib
@ -248,7 +239,6 @@ experimental/vector experimental/memory_resource
experimental/vector vector
ext/hash_map algorithm
ext/hash_map cmath
ext/hash_map concepts
ext/hash_map cstddef
ext/hash_map cstdint
ext/hash_map cstring
@ -261,7 +251,6 @@ ext/hash_map string
ext/hash_map type_traits
ext/hash_set algorithm
ext/hash_set cmath
ext/hash_set concepts
ext/hash_set cstddef
ext/hash_set cstdint
ext/hash_set cstring
@ -273,7 +262,6 @@ ext/hash_set string
ext/hash_set type_traits
filesystem cerrno
filesystem compare
filesystem concepts
filesystem cstddef
filesystem cstdint
filesystem cstdlib
@ -292,7 +280,6 @@ filesystem version
format array
format bit
format charconv
format concepts
format cstddef
format cstdint
format cstdlib
@ -308,7 +295,6 @@ format type_traits
format version
forward_list atomic
forward_list compare
forward_list concepts
forward_list cstddef
forward_list cstdint
forward_list cstdlib
@ -324,7 +310,6 @@ forward_list typeinfo
forward_list version
fstream atomic
fstream cctype
fstream concepts
fstream cstddef
fstream cstdint
fstream cstdio
@ -345,7 +330,6 @@ fstream typeinfo
fstream version
functional array
functional atomic
functional concepts
functional cstddef
functional cstdint
functional cstdlib
@ -378,7 +362,6 @@ iomanip istream
iomanip version
ios atomic
ios cctype
ios concepts
ios cstddef
ios cstdint
ios cstdlib
@ -400,7 +383,6 @@ iostream istream
iostream ostream
iostream streambuf
iostream version
istream concepts
istream cstddef
istream iosfwd
istream ostream
@ -423,7 +405,6 @@ limits type_traits
limits version
list atomic
list compare
list concepts
list cstddef
list cstdint
list cstdlib
@ -439,7 +420,6 @@ list typeinfo
list version
locale atomic
locale cctype
locale concepts
locale cstddef
locale cstdint
locale cstdio
@ -459,7 +439,6 @@ locale type_traits
locale typeinfo
locale version
map compare
map concepts
map cstddef
map cstdlib
map initializer_list
@ -472,7 +451,6 @@ map type_traits
map version
memory atomic
memory compare
memory concepts
memory cstddef
memory cstdint
memory cstdlib
@ -495,7 +473,6 @@ memory_resource stdexcept
memory_resource tuple
memory_resource version
mutex atomic
mutex concepts
mutex cstddef
mutex cstdint
mutex cstdlib
@ -516,11 +493,9 @@ new cstdlib
new exception
new type_traits
new version
numbers concepts
numbers type_traits
numbers version
numeric cmath
numeric concepts
numeric cstddef
numeric limits
numeric type_traits
@ -547,7 +522,6 @@ ostream streambuf
ostream type_traits
ostream version
queue compare
queue concepts
queue cstddef
queue cstdlib
queue deque
@ -559,7 +533,6 @@ queue version
random bit
random climits
random cmath
random concepts
random cstddef
random cstdint
random cstdlib
@ -572,7 +545,6 @@ random type_traits
random vector
random version
ranges compare
ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
@ -593,7 +565,6 @@ ratio version
regex atomic
regex cctype
regex compare
regex concepts
regex cstddef
regex cstdint
regex cstdlib
@ -624,7 +595,6 @@ semaphore ratio
semaphore type_traits
semaphore version
set compare
set concepts
set cstddef
set cstdlib
set initializer_list
@ -643,7 +613,6 @@ shared_mutex system_error
shared_mutex type_traits
shared_mutex version
span array
span concepts
span cstddef
span initializer_list
span limits
@ -656,7 +625,6 @@ sstream string
sstream type_traits
sstream version
stack compare
stack concepts
stack cstddef
stack deque
stack initializer_list
@ -671,7 +639,6 @@ streambuf iosfwd
streambuf version
string climits
string compare
string concepts
string cstddef
string cstdint
string cstdio
@ -688,7 +655,6 @@ string tuple
string type_traits
string version
string_view compare
string_view concepts
string_view cstddef
string_view cstdint
string_view cstdio
@ -744,7 +710,6 @@ typeinfo exception
typeinfo type_traits
unordered_map cmath
unordered_map compare
unordered_map concepts
unordered_map cstddef
unordered_map cstdint
unordered_map cstdlib
@ -759,7 +724,6 @@ unordered_map type_traits
unordered_map version
unordered_set cmath
unordered_set compare
unordered_set concepts
unordered_set cstddef
unordered_set cstdint
unordered_set cstdlib
@ -780,7 +744,6 @@ utility limits
utility type_traits
utility version
valarray cmath
valarray concepts
valarray cstddef
valarray cstdlib
valarray cstring
@ -804,7 +767,6 @@ variant version
vector atomic
vector climits
vector compare
vector concepts
vector cstddef
vector cstdint
vector cstdlib

1 algorithm bit
2 algorithm climits
algorithm concepts
3 algorithm cstddef
4 algorithm cstdint
5 algorithm cstdlib
11 algorithm type_traits
12 algorithm version
13 any atomic
any concepts
14 any cstddef
15 any cstdint
16 any cstdlib
24 any typeinfo
25 any version
26 array compare
array concepts
27 array cstddef
28 array cstdlib
29 array initializer_list
56 bit type_traits
57 bit version
58 bitset climits
bitset concepts
59 bitset cstddef
60 bitset cstdint
61 bitset cstdlib
71 ccomplex complex
72 charconv cerrno
73 charconv cmath
charconv concepts
74 charconv cstddef
75 charconv cstdint
76 charconv cstdlib
83 chrono charconv
84 chrono cmath
85 chrono compare
chrono concepts
86 chrono cstddef
87 chrono cstdint
88 chrono cstdlib
105 cmath version
106 codecvt atomic
107 codecvt cctype
codecvt concepts
108 codecvt cstddef
109 codecvt cstdint
110 codecvt cstdlib
135 concepts type_traits
136 concepts version
137 condition_variable atomic
condition_variable concepts
138 condition_variable cstddef
139 condition_variable cstdint
140 condition_variable cstdlib
163 cwctype cctype
164 deque atomic
165 deque compare
deque concepts
166 deque cstddef
167 deque cstdint
168 deque cstdlib
239 experimental/vector vector
240 ext/hash_map algorithm
241 ext/hash_map cmath
ext/hash_map concepts
242 ext/hash_map cstddef
243 ext/hash_map cstdint
244 ext/hash_map cstring
251 ext/hash_map type_traits
252 ext/hash_set algorithm
253 ext/hash_set cmath
ext/hash_set concepts
254 ext/hash_set cstddef
255 ext/hash_set cstdint
256 ext/hash_set cstring
262 ext/hash_set type_traits
263 filesystem cerrno
264 filesystem compare
filesystem concepts
265 filesystem cstddef
266 filesystem cstdint
267 filesystem cstdlib
280 format array
281 format bit
282 format charconv
format concepts
283 format cstddef
284 format cstdint
285 format cstdlib
295 format version
296 forward_list atomic
297 forward_list compare
forward_list concepts
298 forward_list cstddef
299 forward_list cstdint
300 forward_list cstdlib
310 forward_list version
311 fstream atomic
312 fstream cctype
fstream concepts
313 fstream cstddef
314 fstream cstdint
315 fstream cstdio
330 fstream version
331 functional array
332 functional atomic
functional concepts
333 functional cstddef
334 functional cstdint
335 functional cstdlib
362 iomanip version
363 ios atomic
364 ios cctype
ios concepts
365 ios cstddef
366 ios cstdint
367 ios cstdlib
383 iostream ostream
384 iostream streambuf
385 iostream version
istream concepts
386 istream cstddef
387 istream iosfwd
388 istream ostream
405 limits version
406 list atomic
407 list compare
list concepts
408 list cstddef
409 list cstdint
410 list cstdlib
420 list version
421 locale atomic
422 locale cctype
locale concepts
423 locale cstddef
424 locale cstdint
425 locale cstdio
439 locale typeinfo
440 locale version
441 map compare
map concepts
442 map cstddef
443 map cstdlib
444 map initializer_list
451 map version
452 memory atomic
453 memory compare
memory concepts
454 memory cstddef
455 memory cstdint
456 memory cstdlib
473 memory_resource tuple
474 memory_resource version
475 mutex atomic
mutex concepts
476 mutex cstddef
477 mutex cstdint
478 mutex cstdlib
493 new exception
494 new type_traits
495 new version
numbers concepts
496 numbers type_traits
497 numbers version
498 numeric cmath
numeric concepts
499 numeric cstddef
500 numeric limits
501 numeric type_traits
522 ostream type_traits
523 ostream version
524 queue compare
queue concepts
525 queue cstddef
526 queue cstdlib
527 queue deque
533 random bit
534 random climits
535 random cmath
random concepts
536 random cstddef
537 random cstdint
538 random cstdlib
545 random vector
546 random version
547 ranges compare
ranges concepts
548 ranges cstddef
549 ranges cstdlib
550 ranges initializer_list
565 regex atomic
566 regex cctype
567 regex compare
regex concepts
568 regex cstddef
569 regex cstdint
570 regex cstdlib
595 semaphore type_traits
596 semaphore version
597 set compare
set concepts
598 set cstddef
599 set cstdlib
600 set initializer_list
613 shared_mutex type_traits
614 shared_mutex version
615 span array
span concepts
616 span cstddef
617 span initializer_list
618 span limits
625 sstream type_traits
626 sstream version
627 stack compare
stack concepts
628 stack cstddef
629 stack deque
630 stack initializer_list
639 streambuf version
640 string climits
641 string compare
string concepts
642 string cstddef
643 string cstdint
644 string cstdio
655 string type_traits
656 string version
657 string_view compare
string_view concepts
658 string_view cstddef
659 string_view cstdint
660 string_view cstdio
710 typeinfo type_traits
711 unordered_map cmath
712 unordered_map compare
unordered_map concepts
713 unordered_map cstddef
714 unordered_map cstdint
715 unordered_map cstdlib
724 unordered_map version
725 unordered_set cmath
726 unordered_set compare
unordered_set concepts
727 unordered_set cstddef
728 unordered_set cstdint
729 unordered_set cstdlib
744 utility type_traits
745 utility version
746 valarray cmath
valarray concepts
747 valarray cstddef
748 valarray cstdlib
749 valarray cstring
767 vector atomic
768 vector climits
769 vector compare
vector concepts
770 vector cstddef
771 vector cstdint
772 vector cstdlib

View File

@ -20,6 +20,7 @@
#include <algorithm>
#include <cassert>
#include <concepts>
#include <functional>
#include <utility>