#define _LIBCPP___CHRONO_DURATION_H
#include <__config>
+#include <__type_traits/common_type.h>
+#include <__type_traits/enable_if.h>
+#include <__type_traits/is_convertible.h>
+#include <__type_traits/is_floating_point.h>
#include <limits>
#include <ratio>
-#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
_LIBCPP_POP_MACROS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <type_traits>
+#endif
+
#endif // _LIBCPP___CHRONO_DURATION_H
#include <__chrono/duration.h>
#include <__config>
+#include <__type_traits/common_type.h>
+#include <__type_traits/enable_if.h>
+#include <__type_traits/is_convertible.h>
#include <limits>
-#include <type_traits>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
# pragma GCC system_header
#include <__config>
#include <__thread/poll_with_backoff.h>
#include <__thread/timed_backoff_policy.h>
+#include <__type_traits/conditional.h>
+#include <__type_traits/decay.h>
+#include <__type_traits/is_assignable.h>
+#include <__type_traits/is_function.h>
+#include <__type_traits/is_nothrow_default_constructible.h>
+#include <__type_traits/is_same.h>
+#include <__type_traits/is_trivially_copyable.h>
+#include <__type_traits/remove_const.h>
+#include <__type_traits/remove_pointer.h>
+#include <__type_traits/underlying_type.h>
#include <cstddef>
#include <cstdint>
#include <cstring>
-#include <type_traits>
#include <version>
#ifndef _LIBCPP_HAS_NO_THREADS
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
# include <cmath>
# include <compare>
+# include <type_traits>
#endif
#endif // _LIBCPP_ATOMIC
#include <__assert> // all public C++ headers provide the assertion handler
#include <__config>
+#include <__type_traits/integral_constant.h>
#include <climits>
#include <cstdint>
-#include <type_traits>
#include <version>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
_LIBCPP_POP_MACROS
+#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
+# include <type_traits>
+#endif
+
#endif // _LIBCPP_RATIO
scoped_allocator variant
scoped_allocator version
semaphore atomic
+semaphore cstddef
semaphore ctime
semaphore iosfwd
semaphore limits
scoped_allocator variant
scoped_allocator version
semaphore atomic
+semaphore cstddef
semaphore ctime
semaphore iosfwd
semaphore limits
scoped_allocator variant
scoped_allocator version
semaphore atomic
+semaphore cstddef
semaphore ctime
semaphore iosfwd
semaphore limits
set tuple
set type_traits
set version
+shared_mutex cstddef
shared_mutex ctime
shared_mutex iosfwd
shared_mutex limits
scoped_allocator variant
scoped_allocator version
semaphore atomic
+semaphore cstddef
semaphore ctime
semaphore iosfwd
semaphore limits
set tuple
set type_traits
set version
+shared_mutex cstddef
shared_mutex ctime
shared_mutex iosfwd
shared_mutex limits
scoped_allocator variant
scoped_allocator version
semaphore atomic
+semaphore cstddef
semaphore ctime
semaphore iosfwd
semaphore limits
set tuple
set type_traits
set version
+shared_mutex cstddef
shared_mutex ctime
shared_mutex iosfwd
shared_mutex limits
atomic iosfwd
atomic limits
atomic ratio
-atomic type_traits
atomic version
barrier atomic
barrier cstddef
barrier limits
barrier new
barrier ratio
-barrier type_traits
bit cstdint
bit cstdlib
bit limits
future ratio
future system_error
future thread
-future type_traits
future version
initializer_list cstddef
iomanip istream
ranges version
ratio climits
ratio cstdint
-ratio type_traits
ratio version
regex cctype
regex compare
scoped_allocator tuple
scoped_allocator version
semaphore atomic
+semaphore cstddef
semaphore ctime
semaphore iosfwd
semaphore limits
semaphore ratio
-semaphore type_traits
semaphore version
set compare
set cstddef
set tuple
set type_traits
set version
+shared_mutex cstddef
shared_mutex ctime
shared_mutex iosfwd
shared_mutex limits
shared_mutex ratio
shared_mutex system_error
-shared_mutex type_traits
shared_mutex version
source_location cstdint
source_location version
// UNSUPPORTED: c++03, c++11, c++14, c++17
#include <atomic>
+#include <type_traits>
#include "test_macros.h"