#include <bit> // std::has_single_bit
#include <stdint.h> // uintptr_t
+#include <debug/assertions.h> // _GLIBCXX_DEBUG_ASSERT
namespace std _GLIBCXX_VISIBILITY(default)
{
#pragma GCC system_header
+#include <bits/c++config.h>
+#include <bits/locale_classes.h> // locale::facet
+
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
#pragma GCC system_header
+#include <bits/c++config.h>
+
namespace std _GLIBCXX_VISIBILITY(default)
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cplusplus >= 201402L
+#include <bits/c++config.h>
+
namespace std
{
_GLIBCXX_BEGIN_NAMESPACE_VERSION
#pragma GCC system_header
+#include <type_traits>
#include <bits/hash_bytes.h>
namespace std _GLIBCXX_VISIBILITY(default)
#else
#include <type_traits>
+#include <bits/move.h> // forward
namespace std _GLIBCXX_VISIBILITY(default)
{
#include <iosfwd>
#include <bits/cxxabi_forced.h>
+#include <bits/exception_defines.h>
namespace std _GLIBCXX_VISIBILITY(default)
{
#if __cplusplus >= 201402L
+#include <type_traits>
#include <ext/numeric_traits.h>
namespace std _GLIBCXX_VISIBILITY(default)
#ifndef _GLIBCXX_PREDEFINED_OPS_H
#define _GLIBCXX_PREDEFINED_OPS_H 1
+#include <bits/move.h>
+
namespace __gnu_cxx
{
namespace __ops
#if __cplusplus >= 201103L
#include <initializer_list>
#include <type_traits> // common_type_t, make_signed_t
+#include <bits/stl_iterator.h> // reverse_iterator
namespace std _GLIBCXX_VISIBILITY(default)
{
{ return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
};
-_GLIBCXX_END_NAMESPACE_CONTAINER
-_GLIBCXX_END_NAMESPACE_VERSION
-} // namespace std
-
-// Declare a partial specialization of vector<T, Alloc>.
-#include <bits/stl_vector.h>
-
-namespace std _GLIBCXX_VISIBILITY(default)
-{
-_GLIBCXX_BEGIN_NAMESPACE_VERSION
-_GLIBCXX_BEGIN_NAMESPACE_CONTAINER
-
/**
* @brief A specialization of vector for booleans which offers fixed time
* access to individual elements in any order.
#define _STL_ITERATOR_H 1
#include <bits/cpp_type_traits.h>
+#include <bits/stl_iterator_base_types.h>
#include <ext/type_traits.h>
#include <bits/move.h>
#include <bits/ptr_traits.h>
#ifndef _STL_UNINITIALIZED_H
#define _STL_UNINITIALIZED_H 1
-#if __cplusplus > 201402L
-#include <bits/stl_pair.h>
-#endif
-
#if __cplusplus >= 201103L
#include <type_traits>
#endif
-#include <ext/alloc_traits.h>
+#include <bits/stl_algobase.h> // copy
+#include <ext/alloc_traits.h> // __alloc_traits
+
+#if __cplusplus >= 201703L
+#include <bits/stl_pair.h>
+#endif
namespace std _GLIBCXX_VISIBILITY(default)
{
#if __cplusplus > 201703L
# include <concepts>
#endif
+#include <bits/concept_check.h> // __glibcxx_function_requires
namespace std _GLIBCXX_VISIBILITY(default)
{
#include <chrono>
#include <bits/move.h> // for std::swap
+#include <bits/std_mutex.h> // for std::defer_lock_t
namespace std _GLIBCXX_VISIBILITY(default)
{
#ifndef _GLIBCXX_DEBUG_ASSERTIONS_H
#define _GLIBCXX_DEBUG_ASSERTIONS_H 1
+#include <bits/c++config.h>
+
#ifndef _GLIBCXX_DEBUG
# define _GLIBCXX_DEBUG_ASSERT(_Condition)