#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>
#include <__iterator/iterator_traits.h>
#include <__iterator/wrap_iter.h>
#include <__utility/move.h>
-#include <concepts>
#include <cstddef>
#include <string_view>
#include <type_traits>
#include <__iterator/back_insert_iterator.h>
#include <__iterator/concepts.h>
#include <__utility/move.h>
-#include <concepts>
#include <cstddef>
#ifndef _LIBCPP_HAS_NO_LOCALIZATION
#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>
#include <__format/unicode.h>
#include <__variant/monostate.h>
#include <bit>
-#include <concepts>
#include <cstdint>
#include <string_view>
#include <type_traits>
#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
#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>
#include <__utility/convert_to_integral.h>
#include <__utility/move.h>
#include <__utility/unreachable.h>
-#include <concepts>
#include <cstdlib>
#include <limits>
#include <type_traits>
#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>
#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)
#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>
#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)
#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>
#include <__memory/pointer_traits.h>
#include <__utility/move.h>
#include <compare>
-#include <concepts>
#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
#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>
#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>
#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)
#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>
#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)
#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)
#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>
#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)
#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>
#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>
#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)
#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)
#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>
#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)
#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>
#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)
#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>
#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)
#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>
#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)
#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>
#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>
#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)
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <atomic>
+# include <concepts>
# include <iterator>
# include <memory>
# include <stdexcept>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <iterator>
# include <memory>
# include <variant>
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <iterator>
# include <utility>
#endif
_LIBCPP_POP_MACROS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_BITSET
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <iosfwd>
#endif
# pragma GCC system_header
#endif
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_CHRONO
_LIBCPP_END_NAMESPACE_STD
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_CODECVT
#endif // !_LIBCPP_HAS_NO_THREADS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_CONDITION_VARIABLE
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <functional>
# include <iterator>
#endif
} // namespace __gnu_cxx
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <iterator>
#endif
} // namespace __gnu_cxx
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <iterator>
#endif
# pragma GCC system_header
#endif
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_FILESYSTEM
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <functional>
# include <iterator>
#endif
_LIBCPP_POP_MACROS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_FSTREAM
#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>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <tuple>
# include <utility>
#endif
_LIBCPP_END_NAMESPACE_STD
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_IOS
_LIBCPP_END_NAMESPACE_STD
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
_LIBCPP_POP_MACROS
#endif // _LIBCPP_ISTREAM
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <functional>
# include <iterator>
#endif
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <cstdarg>
# include <iterator>
#endif
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
# include <iterator>
# include <utility>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <cstddef>
# include <cstdint>
# include <cstring>
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
#endif
*/
#include <__assert> // all public C++ headers provide the assertion handler
+#include <__concepts/arithmetic.h>
#include <__config>
-#include <concepts>
#include <type_traits>
#include <version>
#endif // _LIBCPP_STD_VER > 17
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
+#endif
+
#endif // _LIBCPP_NUMBERS
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
# include <iterator>
#endif
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <cmath>
+# include <concepts>
# include <cstddef>
# include <cstdint>
# include <iosfwd>
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <iterator>
# include <utility>
#endif
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
# include <iterator>
#endif
_LIBCPP_POP_MACROS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
# include <iterator>
#endif
_LIBCPP_END_NAMESPACE_STD
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <functional>
# include <iterator>
# include <new>
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <functional>
# include <iterator>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
# include <bit>
+# include <concepts>
# include <iterator>
#endif
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <concepts>
# include <functional>
# include <iterator>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <functional>
#endif
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <algorithm>
+# include <concepts>
# include <typeinfo>
# include <utility>
#endif
format array
format bit
format charconv
-format concepts
format cstddef
format cstdint
format cstdlib
random vector
random version
ranges compare
-ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
format array
format bit
format charconv
-format concepts
format cstddef
format cstdint
format cstdlib
random vector
random version
ranges compare
-ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
format array
format bit
format charconv
-format concepts
format cstddef
format cstdint
format cstdlib
random vector
random version
ranges compare
-ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
format array
format bit
format charconv
-format concepts
format cstddef
format cstdint
format cstdlib
random vector
random version
ranges compare
-ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
format array
format bit
format charconv
-format concepts
format cstddef
format cstdint
format cstdlib
random vector
random version
ranges compare
-ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
algorithm bit
algorithm climits
-algorithm concepts
algorithm cstddef
algorithm cstdint
algorithm cstdlib
algorithm type_traits
algorithm version
any atomic
-any concepts
any cstddef
any cstdint
any cstdlib
any typeinfo
any version
array compare
-array concepts
array cstddef
array cstdlib
array initializer_list
bit type_traits
bit version
bitset climits
-bitset concepts
bitset cstddef
bitset cstdint
bitset cstdlib
ccomplex complex
charconv cerrno
charconv cmath
-charconv concepts
charconv cstddef
charconv cstdint
charconv cstdlib
chrono charconv
chrono cmath
chrono compare
-chrono concepts
chrono cstddef
chrono cstdint
chrono cstdlib
cmath version
codecvt atomic
codecvt cctype
-codecvt concepts
codecvt cstddef
codecvt cstdint
codecvt cstdlib
concepts type_traits
concepts version
condition_variable atomic
-condition_variable concepts
condition_variable cstddef
condition_variable cstdint
condition_variable cstdlib
cwctype cctype
deque atomic
deque compare
-deque concepts
deque cstddef
deque cstdint
deque cstdlib
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
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
ext/hash_set type_traits
filesystem cerrno
filesystem compare
-filesystem concepts
filesystem cstddef
filesystem cstdint
filesystem cstdlib
format array
format bit
format charconv
-format concepts
format cstddef
format cstdint
format cstdlib
format version
forward_list atomic
forward_list compare
-forward_list concepts
forward_list cstddef
forward_list cstdint
forward_list cstdlib
forward_list version
fstream atomic
fstream cctype
-fstream concepts
fstream cstddef
fstream cstdint
fstream cstdio
fstream version
functional array
functional atomic
-functional concepts
functional cstddef
functional cstdint
functional cstdlib
iomanip version
ios atomic
ios cctype
-ios concepts
ios cstddef
ios cstdint
ios cstdlib
iostream ostream
iostream streambuf
iostream version
-istream concepts
istream cstddef
istream iosfwd
istream ostream
limits version
list atomic
list compare
-list concepts
list cstddef
list cstdint
list cstdlib
list version
locale atomic
locale cctype
-locale concepts
locale cstddef
locale cstdint
locale cstdio
locale typeinfo
locale version
map compare
-map concepts
map cstddef
map cstdlib
map initializer_list
map version
memory atomic
memory compare
-memory concepts
memory cstddef
memory cstdint
memory cstdlib
memory_resource tuple
memory_resource version
mutex atomic
-mutex concepts
mutex cstddef
mutex cstdint
mutex 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
ostream type_traits
ostream version
queue compare
-queue concepts
queue cstddef
queue cstdlib
queue deque
random bit
random climits
random cmath
-random concepts
random cstddef
random cstdint
random cstdlib
random vector
random version
ranges compare
-ranges concepts
ranges cstddef
ranges cstdlib
ranges initializer_list
regex atomic
regex cctype
regex compare
-regex concepts
regex cstddef
regex cstdint
regex cstdlib
semaphore type_traits
semaphore version
set compare
-set concepts
set cstddef
set cstdlib
set initializer_list
shared_mutex type_traits
shared_mutex version
span array
-span concepts
span cstddef
span initializer_list
span limits
sstream type_traits
sstream version
stack compare
-stack concepts
stack cstddef
stack deque
stack initializer_list
streambuf version
string climits
string compare
-string concepts
string cstddef
string cstdint
string cstdio
string type_traits
string version
string_view compare
-string_view concepts
string_view cstddef
string_view cstdint
string_view cstdio
typeinfo type_traits
unordered_map cmath
unordered_map compare
-unordered_map concepts
unordered_map cstddef
unordered_map cstdint
unordered_map cstdlib
unordered_map version
unordered_set cmath
unordered_set compare
-unordered_set concepts
unordered_set cstddef
unordered_set cstdint
unordered_set cstdlib
utility type_traits
utility version
valarray cmath
-valarray concepts
valarray cstddef
valarray cstdlib
valarray cstring
vector atomic
vector climits
vector compare
-vector concepts
vector cstddef
vector cstdint
vector cstdlib
#include <algorithm>
#include <cassert>
+#include <concepts>
#include <functional>
#include <utility>