mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-10-07 10:54:01 +00:00
[libc++] Granularize the rest of memory
Reviewed By: ldionne, #libc Spies: vitalybuka, paulkirth, libcxx-commits, mgorny Differential Revision: https://reviews.llvm.org/D132790
This commit is contained in:
parent
bd3dd10a8b
commit
d5e26775d0
@ -379,6 +379,7 @@ set(files
|
||||
__locale
|
||||
__mbstate_t.h
|
||||
__memory/addressof.h
|
||||
__memory/align.h
|
||||
__memory/allocate_at_least.h
|
||||
__memory/allocation_guard.h
|
||||
__memory/allocator.h
|
||||
@ -386,15 +387,18 @@ set(files
|
||||
__memory/allocator_traits.h
|
||||
__memory/assume_aligned.h
|
||||
__memory/auto_ptr.h
|
||||
__memory/builtin_new_allocator.h
|
||||
__memory/compressed_pair.h
|
||||
__memory/concepts.h
|
||||
__memory/construct_at.h
|
||||
__memory/destruct_n.h
|
||||
__memory/pointer_traits.h
|
||||
__memory/ranges_construct_at.h
|
||||
__memory/ranges_uninitialized_algorithms.h
|
||||
__memory/raw_storage_iterator.h
|
||||
__memory/shared_ptr.h
|
||||
__memory/swap_allocator.h
|
||||
__memory/temp_value.h
|
||||
__memory/temporary_buffer.h
|
||||
__memory/uninitialized_algorithms.h
|
||||
__memory/unique_ptr.h
|
||||
@ -537,6 +541,7 @@ set(files
|
||||
__type_traits/integral_constant.h
|
||||
__type_traits/is_abstract.h
|
||||
__type_traits/is_aggregate.h
|
||||
__type_traits/is_allocator.h
|
||||
__type_traits/is_arithmetic.h
|
||||
__type_traits/is_array.h
|
||||
__type_traits/is_assignable.h
|
||||
@ -619,6 +624,7 @@ set(files
|
||||
__type_traits/maybe_const.h
|
||||
__type_traits/nat.h
|
||||
__type_traits/negation.h
|
||||
__type_traits/noexcept_move_assign_container.h
|
||||
__type_traits/promote.h
|
||||
__type_traits/rank.h
|
||||
__type_traits/remove_all_extents.h
|
||||
|
@ -23,7 +23,11 @@
|
||||
#include <__iterator/distance.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__iterator/reverse_iterator.h>
|
||||
#include <memory>
|
||||
#include <__memory/destruct_n.h>
|
||||
#include <__memory/temporary_buffer.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <new>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <__ranges/subrange.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -21,6 +21,7 @@
|
||||
#include <__ranges/access.h>
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/subrange.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <initializer_list>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <__ranges/subrange.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/size.h>
|
||||
#include <__ranges/subrange.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -25,6 +25,7 @@
|
||||
#include <__ranges/size.h>
|
||||
#include <__ranges/subrange.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -23,6 +23,7 @@
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__type_traits/decay.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -26,6 +26,7 @@
|
||||
#include <__ranges/subrange.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -27,6 +27,7 @@
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include <__config>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -15,6 +15,7 @@
|
||||
#include <__config>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -22,8 +22,9 @@
|
||||
#include <__functional/operations.h>
|
||||
#include <__functional/ranges_operations.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__memory/destruct_n.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <climits>
|
||||
#include <memory>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -15,7 +15,11 @@
|
||||
#include <__iterator/advance.h>
|
||||
#include <__iterator/distance.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <memory>
|
||||
#include <__memory/destruct_n.h>
|
||||
#include <__memory/temporary_buffer.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -16,8 +16,12 @@
|
||||
#include <__algorithm/sort.h>
|
||||
#include <__config>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__memory/destruct_n.h>
|
||||
#include <__memory/temporary_buffer.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__utility/move.h>
|
||||
#include <memory>
|
||||
#include <__utility/pair.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -13,7 +13,6 @@
|
||||
#ifndef _LIBCPP___BSD_LOCALE_FALLBACKS_H
|
||||
#define _LIBCPP___BSD_LOCALE_FALLBACKS_H
|
||||
|
||||
#include <memory>
|
||||
#include <stdarg.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
#include <__config>
|
||||
#include <__filesystem/path.h>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <iosfwd>
|
||||
#include <new>
|
||||
#include <system_error>
|
||||
|
@ -19,6 +19,7 @@
|
||||
#include <__config>
|
||||
#include <__format/concepts.h>
|
||||
#include <__format/format_arg.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
@ -18,6 +18,7 @@
|
||||
#include <__format/formatter_output.h>
|
||||
#include <__format/parser_std_format_spec.h>
|
||||
#include <__utility/unreachable.h>
|
||||
#include <array>
|
||||
#include <charconv>
|
||||
#include <limits>
|
||||
#include <string>
|
||||
|
@ -17,15 +17,21 @@
|
||||
#include <__functional/unary_function.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/builtin_new_allocator.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/piecewise_construct.h>
|
||||
#include <__utility/swap.h>
|
||||
#include <exception>
|
||||
#include <memory> // TODO: replace with <__memory/__builtin_new_allocator.h>
|
||||
#include <new>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
#include <typeinfo>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -18,12 +18,20 @@
|
||||
#include <__debug>
|
||||
#include <__functional/hash.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__type_traits/can_extract_key.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <__utility/swap.h>
|
||||
#include <cmath>
|
||||
#include <cstring>
|
||||
#include <initializer_list>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -12,10 +12,10 @@
|
||||
|
||||
#include <__availability>
|
||||
#include <__config>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <cctype>
|
||||
#include <cstdint>
|
||||
#include <locale.h>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <string>
|
||||
|
||||
|
25
libcxx/include/__memory/align.h
Normal file
25
libcxx/include/__memory/align.h
Normal file
@ -0,0 +1,25 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___MEMORY_ALIGN_H
|
||||
#define _LIBCPP___MEMORY_ALIGN_H
|
||||
|
||||
#include <__config>
|
||||
#include <cstddef>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
_LIBCPP_FUNC_VIS void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space);
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___MEMORY_ALIGN_H
|
70
libcxx/include/__memory/builtin_new_allocator.h
Normal file
70
libcxx/include/__memory/builtin_new_allocator.h
Normal file
@ -0,0 +1,70 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
|
||||
#define _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
|
||||
|
||||
#include <__config>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <cstddef>
|
||||
#include <new>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
// __builtin_new_allocator -- A non-templated helper for allocating and
|
||||
// deallocating memory using __builtin_operator_new and
|
||||
// __builtin_operator_delete. It should be used in preference to
|
||||
// `std::allocator<T>` to avoid additional instantiations.
|
||||
struct __builtin_new_allocator {
|
||||
struct __builtin_new_deleter {
|
||||
typedef void* pointer_type;
|
||||
|
||||
_LIBCPP_CONSTEXPR explicit __builtin_new_deleter(size_t __size, size_t __align)
|
||||
: __size_(__size), __align_(__align) {}
|
||||
|
||||
void operator()(void* __p) const _NOEXCEPT {
|
||||
_VSTD::__libcpp_deallocate(__p, __size_, __align_);
|
||||
}
|
||||
|
||||
private:
|
||||
size_t __size_;
|
||||
size_t __align_;
|
||||
};
|
||||
|
||||
typedef unique_ptr<void, __builtin_new_deleter> __holder_t;
|
||||
|
||||
static __holder_t __allocate_bytes(size_t __s, size_t __align) {
|
||||
return __holder_t(_VSTD::__libcpp_allocate(__s, __align),
|
||||
__builtin_new_deleter(__s, __align));
|
||||
}
|
||||
|
||||
static void __deallocate_bytes(void* __p, size_t __s,
|
||||
size_t __align) _NOEXCEPT {
|
||||
_VSTD::__libcpp_deallocate(__p, __s, __align);
|
||||
}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE
|
||||
static __holder_t __allocate_type(size_t __n) {
|
||||
return __allocate_bytes(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
|
||||
}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE
|
||||
static void __deallocate_type(void* __p, size_t __n) _NOEXCEPT {
|
||||
__deallocate_bytes(__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
|
||||
}
|
||||
};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___MEMORY_BUILTIN_NEW_ALLOCATOR_H
|
@ -17,6 +17,7 @@
|
||||
#include <__memory/voidify.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
64
libcxx/include/__memory/destruct_n.h
Normal file
64
libcxx/include/__memory/destruct_n.h
Normal file
@ -0,0 +1,64 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___MEMORY_DESTRUCT_N_H
|
||||
#define _LIBCPP___MEMORY_DESTRUCT_N_H
|
||||
|
||||
#include <__config>
|
||||
#include <__type_traits/integral_constant.h>
|
||||
#include <__type_traits/is_trivially_destructible.h>
|
||||
#include <cstddef>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
struct __destruct_n
|
||||
{
|
||||
private:
|
||||
size_t __size_;
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __process(_Tp* __p, false_type) _NOEXCEPT
|
||||
{for (size_t __i = 0; __i < __size_; ++__i, ++__p) __p->~_Tp();}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __process(_Tp*, true_type) _NOEXCEPT
|
||||
{}
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY void __incr(false_type) _NOEXCEPT
|
||||
{++__size_;}
|
||||
_LIBCPP_INLINE_VISIBILITY void __incr(true_type) _NOEXCEPT
|
||||
{}
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY void __set(size_t __s, false_type) _NOEXCEPT
|
||||
{__size_ = __s;}
|
||||
_LIBCPP_INLINE_VISIBILITY void __set(size_t, true_type) _NOEXCEPT
|
||||
{}
|
||||
public:
|
||||
_LIBCPP_INLINE_VISIBILITY explicit __destruct_n(size_t __s) _NOEXCEPT
|
||||
: __size_(__s) {}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __incr() _NOEXCEPT
|
||||
{__incr(integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __set(size_t __s, _Tp*) _NOEXCEPT
|
||||
{__set(__s, integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __p) _NOEXCEPT
|
||||
{__process(__p, integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
|
||||
};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___MEMORY_DESTRUCT_N_H
|
@ -22,6 +22,7 @@
|
||||
#include <__utility/declval.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <new>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -24,6 +24,7 @@
|
||||
#include <__ranges/concepts.h>
|
||||
#include <__ranges/dangling.h>
|
||||
#include <__utility/move.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -16,6 +16,7 @@
|
||||
#include <__memory/addressof.h>
|
||||
#include <__utility/move.h>
|
||||
#include <cstddef>
|
||||
#include <new>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -34,6 +34,7 @@
|
||||
#include <cstddef>
|
||||
#include <cstdlib> // abort
|
||||
#include <iosfwd>
|
||||
#include <new>
|
||||
#include <stdexcept>
|
||||
#include <type_traits>
|
||||
#include <typeinfo>
|
||||
|
56
libcxx/include/__memory/temp_value.h
Normal file
56
libcxx/include/__memory/temp_value.h
Normal file
@ -0,0 +1,56 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___MEMORY_TEMP_VALUE_H
|
||||
#define _LIBCPP___MEMORY_TEMP_VALUE_H
|
||||
|
||||
#include <__config>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__type_traits/aligned_storage.h>
|
||||
#include <__utility/forward.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
template <class _Tp, class _Alloc>
|
||||
struct __temp_value {
|
||||
typedef allocator_traits<_Alloc> _Traits;
|
||||
|
||||
#ifdef _LIBCPP_CXX03_LANG
|
||||
typename aligned_storage<sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)>::type __v;
|
||||
#else
|
||||
union { _Tp __v; };
|
||||
#endif
|
||||
_Alloc &__a;
|
||||
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp *__addr() {
|
||||
#ifdef _LIBCPP_CXX03_LANG
|
||||
return reinterpret_cast<_Tp*>(std::addressof(__v));
|
||||
#else
|
||||
return std::addressof(__v);
|
||||
#endif
|
||||
}
|
||||
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp & get() { return *__addr(); }
|
||||
|
||||
template<class... _Args>
|
||||
_LIBCPP_NO_CFI
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 __temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc) {
|
||||
_Traits::construct(__a, __addr(), std::forward<_Args>(__args)...);
|
||||
}
|
||||
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 ~__temp_value() { _Traits::destroy(__a, __addr()); }
|
||||
};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___MEMORY_TEMP_VALUE_H
|
@ -24,6 +24,7 @@
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <__utility/transaction.h>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -60,7 +60,8 @@ public:
|
||||
|
||||
#include <__assert>
|
||||
#include <__config>
|
||||
#include <memory>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <optional>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -17,11 +17,15 @@
|
||||
#include <__iterator/distance.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__iterator/move_iterator.h>
|
||||
#include <__memory/allocate_at_least.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <memory>
|
||||
#include <__utility/move.h>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -17,12 +17,17 @@
|
||||
#include <__iterator/distance.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__iterator/next.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__type_traits/can_extract_key.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <__utility/swap.h>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
36
libcxx/include/__type_traits/is_allocator.h
Normal file
36
libcxx/include/__type_traits/is_allocator.h
Normal file
@ -0,0 +1,36 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___TYPE_IS_ALLOCATOR_H
|
||||
#define _LIBCPP___TYPE_IS_ALLOCATOR_H
|
||||
|
||||
#include <__config>
|
||||
#include <__type_traits/integral_constant.h>
|
||||
#include <__type_traits/void_t.h>
|
||||
#include <__utility/declval.h>
|
||||
#include <cstddef>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
template<typename _Alloc, typename = void, typename = void>
|
||||
struct __is_allocator : false_type {};
|
||||
|
||||
template<typename _Alloc>
|
||||
struct __is_allocator<_Alloc,
|
||||
typename __void_t<typename _Alloc::value_type>::type,
|
||||
typename __void_t<decltype(declval<_Alloc&>().allocate(size_t(0)))>::type
|
||||
>
|
||||
: true_type {};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___TYPE_IS_ALLOCATOR_H
|
@ -0,0 +1,34 @@
|
||||
//===----------------------------------------------------------------------===//
|
||||
//
|
||||
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
|
||||
// See https://llvm.org/LICENSE.txt for license information.
|
||||
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#ifndef _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
|
||||
#define _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
|
||||
|
||||
#include <__config>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__type_traits/integral_constant.h>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
template <typename _Alloc, typename _Traits=allocator_traits<_Alloc> >
|
||||
struct __noexcept_move_assign_container : public integral_constant<bool,
|
||||
_Traits::propagate_on_container_move_assignment::value
|
||||
#if _LIBCPP_STD_VER > 14
|
||||
|| _Traits::is_always_equal::value
|
||||
#else
|
||||
&& is_nothrow_move_assignable<_Alloc>::value
|
||||
#endif
|
||||
> {};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#endif // _LIBCPP___TYPE_TRAITS_NOEXCEPT_MOVE_ASSIGN_CONTAINER_H
|
@ -34,7 +34,7 @@ template <class _Ap, class _Bp>
|
||||
using _ForwardLike = _OverrideRef<_Ap&&, _CopyConst<remove_reference_t<_Ap>, remove_reference_t<_Bp>>>;
|
||||
|
||||
template <class _Tp, class _Up>
|
||||
[[nodiscard]] constexpr auto forward_like(_Up&& __ux) noexcept -> _ForwardLike<_Tp, _Up> {
|
||||
[[nodiscard]] _LIBCPP_HIDE_FROM_ABI constexpr auto forward_like(_Up&& __ux) noexcept -> _ForwardLike<_Tp, _Up> {
|
||||
return static_cast<_ForwardLike<_Tp, _Up>>(__ux);
|
||||
}
|
||||
|
||||
|
@ -1709,7 +1709,6 @@ template <class BidirectionalIterator, class Compare>
|
||||
#include <__debug>
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include <version>
|
||||
|
||||
@ -1907,7 +1906,7 @@ template <class BidirectionalIterator, class Compare>
|
||||
#endif
|
||||
|
||||
#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
|
||||
# include <__pstl_algorithm>
|
||||
# include <__pstl_algorithm>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 17
|
||||
@ -1915,7 +1914,10 @@ template <class BidirectionalIterator, class Compare>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <atomic>
|
||||
# include <iterator>
|
||||
# include <memory>
|
||||
# include <stdexcept>
|
||||
# include <utility>
|
||||
#endif
|
||||
|
||||
|
@ -83,13 +83,16 @@ namespace std {
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__availability>
|
||||
#include <__config>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/in_place.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/unreachable.h>
|
||||
#include <cstdlib>
|
||||
#include <initializer_list>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include <typeinfo>
|
||||
#include <version>
|
||||
@ -695,4 +698,10 @@ _LIBCPP_END_NAMESPACE_STD
|
||||
# include <chrono> // IGNORE-CYCLE due to <format>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <iterator>
|
||||
# include <memory>
|
||||
# include <variant>
|
||||
#endif
|
||||
|
||||
#endif // _LIBCPP_ANY
|
||||
|
@ -48,10 +48,19 @@ namespace std
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__availability>
|
||||
#include <__config>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__thread/timed_backoff_policy.h>
|
||||
#include <__utility/move.h>
|
||||
#include <atomic>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <concepts>
|
||||
# include <iterator>
|
||||
# include <memory>
|
||||
# include <stdexcept>
|
||||
# include <variant>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
|
@ -108,8 +108,9 @@ public:
|
||||
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__mutex_base>
|
||||
#include <memory>
|
||||
#include <version>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
|
@ -176,7 +176,11 @@ template <class T, class Allocator, class Predicate>
|
||||
#include <__iterator/next.h>
|
||||
#include <__iterator/prev.h>
|
||||
#include <__iterator/reverse_iterator.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/temp_value.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__split_buffer>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/swap.h>
|
||||
|
@ -50,10 +50,28 @@ template <class P> struct hash<coroutine_handle<P>>;
|
||||
#include <__functional/operations.h>
|
||||
#include <cstddef>
|
||||
#include <experimental/__config>
|
||||
#include <memory> // for hash<T*>
|
||||
#include <new>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <atomic>
|
||||
# include <climits>
|
||||
# include <cmath>
|
||||
# include <compare>
|
||||
# include <concepts>
|
||||
# include <ctime>
|
||||
# include <initializer_list>
|
||||
# include <iosfwd>
|
||||
# include <iterator>
|
||||
# include <memory>
|
||||
# include <ratio>
|
||||
# include <stdexcept>
|
||||
# include <tuple>
|
||||
# include <typeinfo>
|
||||
# include <utility>
|
||||
# include <variant>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
@ -65,6 +65,7 @@ namespace pmr {
|
||||
*/
|
||||
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__tuple>
|
||||
#include <__utility/move.h>
|
||||
#include <cstddef>
|
||||
@ -72,11 +73,23 @@ namespace pmr {
|
||||
#include <experimental/__config>
|
||||
#include <experimental/__memory>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <new>
|
||||
#include <stdexcept>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <atomic>
|
||||
# include <climits>
|
||||
# include <concepts>
|
||||
# include <cstring>
|
||||
# include <ctime>
|
||||
# include <iterator>
|
||||
# include <memory>
|
||||
# include <ratio>
|
||||
# include <variant>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
@ -188,10 +188,18 @@ template <class T, class Allocator, class Predicate>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__iterator/move_iterator.h>
|
||||
#include <__iterator/next.h>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include <version>
|
||||
|
||||
|
@ -192,6 +192,7 @@ typedef basic_fstream<wchar_t> wfstream;
|
||||
#include <cstring>
|
||||
#include <istream>
|
||||
#include <ostream>
|
||||
#include <typeinfo>
|
||||
#include <version>
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_FILESYSTEM_LIBRARY)
|
||||
|
@ -533,7 +533,7 @@ POLICY: For non-variadic implementations, the number of arguments is limited
|
||||
#include <__utility/forward.h>
|
||||
#include <concepts>
|
||||
#include <exception>
|
||||
#include <memory>
|
||||
#include <memory> // TODO: find out why removing this breaks the modules build
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
#include <typeinfo>
|
||||
|
@ -372,8 +372,8 @@ template <class R, class Alloc> struct uses_allocator<packaged_task<R>, Alloc>;
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <exception>
|
||||
#include <memory>
|
||||
#include <mutex>
|
||||
#include <new>
|
||||
#include <system_error>
|
||||
#include <thread>
|
||||
#include <version>
|
||||
|
@ -194,12 +194,20 @@ template <class T, class Allocator, class Predicate>
|
||||
#include <__iterator/next.h>
|
||||
#include <__iterator/prev.h>
|
||||
#include <__iterator/reverse_iterator.h>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/swap.h>
|
||||
#include <cstring>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <type_traits>
|
||||
#include <version>
|
||||
|
||||
|
@ -201,13 +201,14 @@ template <class charT> class messages_byname;
|
||||
#include <__iterator/istreambuf_iterator.h>
|
||||
#include <__iterator/ostreambuf_iterator.h>
|
||||
#include <__locale>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <cstdarg> // TODO: Remove this include
|
||||
#include <cstdio>
|
||||
#include <cstdlib>
|
||||
#include <ctime>
|
||||
#include <ios>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <new>
|
||||
#include <streambuf>
|
||||
#include <version>
|
||||
|
||||
|
@ -538,11 +538,14 @@ erase_if(multimap<Key, T, Compare, Allocator>& c, Predicate pred); // C++20
|
||||
#include <__iterator/erase_if_container.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__iterator/reverse_iterator.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__node_handle>
|
||||
#include <__tree>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/piecewise_construct.h>
|
||||
#include <__utility/swap.h>
|
||||
#include <memory>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
#include <version>
|
||||
|
||||
|
@ -860,11 +860,10 @@ template<size_t N, class T>
|
||||
|
||||
*/
|
||||
|
||||
#include <__algorithm/copy.h>
|
||||
#include <__algorithm/move.h>
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/align.h>
|
||||
#include <__memory/allocate_at_least.h>
|
||||
#include <__memory/allocation_guard.h>
|
||||
#include <__memory/allocator.h>
|
||||
@ -884,15 +883,6 @@ template<size_t N, class T>
|
||||
#include <__memory/uninitialized_algorithms.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__memory/uses_allocator.h>
|
||||
#include <cstddef>
|
||||
#include <cstdint>
|
||||
#include <cstring>
|
||||
#include <iosfwd>
|
||||
#include <new>
|
||||
#include <stdexcept>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
#include <typeinfo>
|
||||
#include <version>
|
||||
|
||||
// standard-mandated includes
|
||||
@ -902,153 +892,21 @@ template<size_t N, class T>
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
||||
_LIBCPP_BEGIN_NAMESPACE_STD
|
||||
|
||||
struct __destruct_n
|
||||
{
|
||||
private:
|
||||
size_t __size_;
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __process(_Tp* __p, false_type) _NOEXCEPT
|
||||
{for (size_t __i = 0; __i < __size_; ++__i, ++__p) __p->~_Tp();}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __process(_Tp*, true_type) _NOEXCEPT
|
||||
{}
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY void __incr(false_type) _NOEXCEPT
|
||||
{++__size_;}
|
||||
_LIBCPP_INLINE_VISIBILITY void __incr(true_type) _NOEXCEPT
|
||||
{}
|
||||
|
||||
_LIBCPP_INLINE_VISIBILITY void __set(size_t __s, false_type) _NOEXCEPT
|
||||
{__size_ = __s;}
|
||||
_LIBCPP_INLINE_VISIBILITY void __set(size_t, true_type) _NOEXCEPT
|
||||
{}
|
||||
public:
|
||||
_LIBCPP_INLINE_VISIBILITY explicit __destruct_n(size_t __s) _NOEXCEPT
|
||||
: __size_(__s) {}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __incr() _NOEXCEPT
|
||||
{__incr(integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void __set(size_t __s, _Tp*) _NOEXCEPT
|
||||
{__set(__s, integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_INLINE_VISIBILITY void operator()(_Tp* __p) _NOEXCEPT
|
||||
{__process(__p, integral_constant<bool, is_trivially_destructible<_Tp>::value>());}
|
||||
};
|
||||
|
||||
_LIBCPP_FUNC_VIS void* align(size_t __align, size_t __sz, void*& __ptr, size_t& __space);
|
||||
|
||||
template <typename _Alloc, typename _Traits=allocator_traits<_Alloc> >
|
||||
struct __noexcept_move_assign_container : public integral_constant<bool,
|
||||
_Traits::propagate_on_container_move_assignment::value
|
||||
#if _LIBCPP_STD_VER > 14
|
||||
|| _Traits::is_always_equal::value
|
||||
#else
|
||||
&& is_nothrow_move_assignable<_Alloc>::value
|
||||
#endif
|
||||
> {};
|
||||
|
||||
|
||||
template <class _Tp, class _Alloc>
|
||||
struct __temp_value {
|
||||
typedef allocator_traits<_Alloc> _Traits;
|
||||
|
||||
#ifdef _LIBCPP_CXX03_LANG
|
||||
typename aligned_storage<sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp)>::type __v;
|
||||
#else
|
||||
union { _Tp __v; };
|
||||
#endif
|
||||
_Alloc &__a;
|
||||
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp *__addr() {
|
||||
#ifdef _LIBCPP_CXX03_LANG
|
||||
return reinterpret_cast<_Tp*>(std::addressof(__v));
|
||||
#else
|
||||
return std::addressof(__v);
|
||||
#endif
|
||||
}
|
||||
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 _Tp & get() { return *__addr(); }
|
||||
|
||||
template<class... _Args>
|
||||
_LIBCPP_NO_CFI
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 __temp_value(_Alloc &__alloc, _Args&& ... __args) : __a(__alloc) {
|
||||
_Traits::construct(__a, __addr(), std::forward<_Args>(__args)...);
|
||||
}
|
||||
|
||||
_LIBCPP_CONSTEXPR_SINCE_CXX20 ~__temp_value() { _Traits::destroy(__a, __addr()); }
|
||||
};
|
||||
|
||||
template<typename _Alloc, typename = void, typename = void>
|
||||
struct __is_allocator : false_type {};
|
||||
|
||||
template<typename _Alloc>
|
||||
struct __is_allocator<_Alloc,
|
||||
typename __void_t<typename _Alloc::value_type>::type,
|
||||
typename __void_t<decltype(declval<_Alloc&>().allocate(size_t(0)))>::type
|
||||
>
|
||||
: true_type {};
|
||||
|
||||
// __builtin_new_allocator -- A non-templated helper for allocating and
|
||||
// deallocating memory using __builtin_operator_new and
|
||||
// __builtin_operator_delete. It should be used in preference to
|
||||
// `std::allocator<T>` to avoid additional instantiations.
|
||||
struct __builtin_new_allocator {
|
||||
struct __builtin_new_deleter {
|
||||
typedef void* pointer_type;
|
||||
|
||||
_LIBCPP_CONSTEXPR explicit __builtin_new_deleter(size_t __size, size_t __align)
|
||||
: __size_(__size), __align_(__align) {}
|
||||
|
||||
void operator()(void* __p) const _NOEXCEPT {
|
||||
_VSTD::__libcpp_deallocate(__p, __size_, __align_);
|
||||
}
|
||||
|
||||
private:
|
||||
size_t __size_;
|
||||
size_t __align_;
|
||||
};
|
||||
|
||||
typedef unique_ptr<void, __builtin_new_deleter> __holder_t;
|
||||
|
||||
static __holder_t __allocate_bytes(size_t __s, size_t __align) {
|
||||
return __holder_t(_VSTD::__libcpp_allocate(__s, __align),
|
||||
__builtin_new_deleter(__s, __align));
|
||||
}
|
||||
|
||||
static void __deallocate_bytes(void* __p, size_t __s,
|
||||
size_t __align) _NOEXCEPT {
|
||||
_VSTD::__libcpp_deallocate(__p, __s, __align);
|
||||
}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE
|
||||
static __holder_t __allocate_type(size_t __n) {
|
||||
return __allocate_bytes(__n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
|
||||
}
|
||||
|
||||
template <class _Tp>
|
||||
_LIBCPP_NODEBUG _LIBCPP_ALWAYS_INLINE
|
||||
static void __deallocate_type(void* __p, size_t __n) _NOEXCEPT {
|
||||
__deallocate_bytes(__p, __n * sizeof(_Tp), _LIBCPP_ALIGNOF(_Tp));
|
||||
}
|
||||
};
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#if defined(_LIBCPP_HAS_PARALLEL_ALGORITHMS) && _LIBCPP_STD_VER >= 17
|
||||
# include <__pstl_memory>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <cstddef>
|
||||
# include <cstdint>
|
||||
# include <cstring>
|
||||
# include <iosfwd>
|
||||
# include <iterator>
|
||||
# include <new>
|
||||
# include <stdexcept>
|
||||
# include <tuple>
|
||||
# include <type_traits>
|
||||
# include <typeinfo>
|
||||
# include <utility>
|
||||
#endif
|
||||
|
||||
|
@ -834,6 +834,7 @@ module std [system] {
|
||||
|
||||
module __memory {
|
||||
module addressof { private header "__memory/addressof.h" }
|
||||
module align { private header "__memory/align.h" }
|
||||
module allocate_at_least { private header "__memory/allocate_at_least.h" }
|
||||
module allocation_guard { private header "__memory/allocation_guard.h" }
|
||||
module allocator { private header "__memory/allocator.h" }
|
||||
@ -841,15 +842,18 @@ module std [system] {
|
||||
module allocator_traits { private header "__memory/allocator_traits.h" }
|
||||
module assume_aligned { private header "__memory/assume_aligned.h" }
|
||||
module auto_ptr { private header "__memory/auto_ptr.h" }
|
||||
module builtin_new_allocator { private header "__memory/builtin_new_allocator.h" }
|
||||
module compressed_pair { private header "__memory/compressed_pair.h" }
|
||||
module concepts { private header "__memory/concepts.h" }
|
||||
module construct_at { private header "__memory/construct_at.h" }
|
||||
module destruct_n { private header "__memory/destruct_n.h" }
|
||||
module pointer_traits { private header "__memory/pointer_traits.h" }
|
||||
module ranges_construct_at { private header "__memory/ranges_construct_at.h" }
|
||||
module ranges_uninitialized_algorithms { private header "__memory/ranges_uninitialized_algorithms.h" }
|
||||
module raw_storage_iterator { private header "__memory/raw_storage_iterator.h" }
|
||||
module shared_ptr { private header "__memory/shared_ptr.h" }
|
||||
module swap_allocator { private header "__memory/swap_allocator.h" }
|
||||
module temp_value { private header "__memory/temp_value.h" }
|
||||
module temporary_buffer { private header "__memory/temporary_buffer.h" }
|
||||
module uninitialized_algorithms { private header "__memory/uninitialized_algorithms.h" }
|
||||
module unique_ptr { private header "__memory/unique_ptr.h" }
|
||||
@ -1129,6 +1133,7 @@ module std [system] {
|
||||
module integral_constant { private header "__type_traits/integral_constant.h" }
|
||||
module is_abstract { private header "__type_traits/is_abstract.h" }
|
||||
module is_aggregate { private header "__type_traits/is_aggregate.h" }
|
||||
module is_allocator { private header "__type_traits/is_allocator.h" }
|
||||
module is_arithmetic { private header "__type_traits/is_arithmetic.h" }
|
||||
module is_array { private header "__type_traits/is_array.h" }
|
||||
module is_assignable { private header "__type_traits/is_assignable.h" }
|
||||
@ -1211,6 +1216,7 @@ module std [system] {
|
||||
module maybe_const { private header "__type_traits/maybe_const.h" }
|
||||
module nat { private header "__type_traits/nat.h" }
|
||||
module negation { private header "__type_traits/negation.h" }
|
||||
module noexcept_move_assign_container { private header "__type_traits/noexcept_move_assign_container.h" }
|
||||
module promote { private header "__type_traits/promote.h" }
|
||||
module rank { private header "__type_traits/rank.h" }
|
||||
module remove_all_extents { private header "__type_traits/remove_all_extents.h" }
|
||||
|
@ -188,11 +188,11 @@ template<class Callable, class ...Args>
|
||||
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__memory/shared_ptr.h>
|
||||
#include <__mutex_base>
|
||||
#include <__threading_support>
|
||||
#include <__utility/forward.h>
|
||||
#include <cstdint>
|
||||
#include <memory>
|
||||
#ifndef _LIBCPP_CXX03_LANG
|
||||
# include <tuple>
|
||||
#endif
|
||||
|
@ -165,9 +165,11 @@ basic_ostream<wchar_t, traits>& operator<<(basic_ostream<wchar_t, traits>&, cons
|
||||
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <bitset>
|
||||
#include <ios>
|
||||
#include <locale>
|
||||
#include <new>
|
||||
#include <streambuf>
|
||||
#include <version>
|
||||
|
||||
|
@ -956,7 +956,7 @@ struct _LIBCPP_TEMPLATE_VIS uses_allocator<priority_queue<_Tp, _Container, _Comp
|
||||
|
||||
_LIBCPP_END_NAMESPACE_STD
|
||||
|
||||
#ifndef _LIBCPP_REMOVE_TRANSITIVE_INCLUDES
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <functional>
|
||||
#endif
|
||||
|
||||
|
@ -770,9 +770,9 @@ typedef regex_token_iterator<wstring::const_iterator> wsregex_token_iterator;
|
||||
#include <__iterator/wrap_iter.h>
|
||||
#include <__locale>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <__utility/swap.h>
|
||||
#include <deque>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
@ -111,10 +111,32 @@ template <class OuterA1, class OuterA2, class... InnerAllocs>
|
||||
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__type_traits/common_type.h>
|
||||
#include <__type_traits/enable_if.h>
|
||||
#include <__type_traits/integral_constant.h>
|
||||
#include <__type_traits/is_constructible.h>
|
||||
#include <__type_traits/remove_reference.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <memory>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/pair.h>
|
||||
#include <__utility/piecewise_construct.h>
|
||||
#include <tuple>
|
||||
#include <version>
|
||||
|
||||
#if !defined(_LIBCPP_REMOVE_TRANSITIVE_INCLUDES) && _LIBCPP_STD_VER <= 20
|
||||
# include <atomic>
|
||||
# include <climits>
|
||||
# include <concepts>
|
||||
# include <cstring>
|
||||
# include <ctime>
|
||||
# include <iterator>
|
||||
# include <memory>
|
||||
# include <ratio>
|
||||
# include <stdexcept>
|
||||
# include <variant>
|
||||
#endif
|
||||
|
||||
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
|
||||
# pragma GCC system_header
|
||||
#endif
|
||||
|
@ -480,8 +480,10 @@ erase_if(multiset<Key, Compare, Allocator>& c, Predicate pred); // C++20
|
||||
#include <__iterator/erase_if_container.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__iterator/reverse_iterator.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__node_handle>
|
||||
#include <__tree>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <version>
|
||||
|
||||
|
@ -545,9 +545,16 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
|
||||
#include <__iterator/reverse_iterator.h>
|
||||
#include <__iterator/wrap_iter.h>
|
||||
#include <__memory/allocate_at_least.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__memory/allocator_traits.h>
|
||||
#include <__memory/compressed_pair.h>
|
||||
#include <__memory/construct_at.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__string/char_traits.h>
|
||||
#include <__string/extern_template_lists.h>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__type_traits/noexcept_move_assign_container.h>
|
||||
#include <__utility/auto_cast.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/swap.h>
|
||||
@ -559,7 +566,6 @@ basic_string<char32_t> operator "" s( const char32_t *str, size_t len );
|
||||
#include <cstring>
|
||||
#include <iosfwd>
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
#include <string_view>
|
||||
#include <type_traits>
|
||||
|
@ -86,6 +86,7 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
|
||||
#include <__assert> // all public C++ headers provide the assertion handler
|
||||
#include <__config>
|
||||
#include <__functional/hash.h>
|
||||
#include <__memory/unique_ptr.h>
|
||||
#include <__mutex_base>
|
||||
#include <__thread/poll_with_backoff.h>
|
||||
#include <__thread/timed_backoff_policy.h>
|
||||
@ -93,7 +94,6 @@ void sleep_for(const chrono::duration<Rep, Period>& rel_time);
|
||||
#include <__utility/forward.h>
|
||||
#include <cstddef>
|
||||
#include <iosfwd>
|
||||
#include <memory>
|
||||
#include <system_error>
|
||||
#include <tuple>
|
||||
#include <type_traits>
|
||||
|
@ -525,7 +525,9 @@ template <class Key, class T, class Hash, class Pred, class Alloc>
|
||||
#include <__iterator/erase_if_container.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__node_handle>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <stdexcept>
|
||||
#include <tuple>
|
||||
|
@ -470,7 +470,9 @@ template <class Value, class Hash, class Pred, class Alloc>
|
||||
#include <__iterator/erase_if_container.h>
|
||||
#include <__iterator/iterator_traits.h>
|
||||
#include <__memory/addressof.h>
|
||||
#include <__memory/allocator.h>
|
||||
#include <__node_handle>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <version>
|
||||
|
||||
|
@ -293,7 +293,11 @@ erase_if(vector<T, Allocator>& c, Predicate pred); // C++20
|
||||
#include <__memory/allocate_at_least.h>
|
||||
#include <__memory/pointer_traits.h>
|
||||
#include <__memory/swap_allocator.h>
|
||||
#include <__memory/temp_value.h>
|
||||
#include <__memory/uninitialized_algorithms.h>
|
||||
#include <__split_buffer>
|
||||
#include <__type_traits/is_allocator.h>
|
||||
#include <__type_traits/noexcept_move_assign_container.h>
|
||||
#include <__utility/forward.h>
|
||||
#include <__utility/move.h>
|
||||
#include <__utility/swap.h>
|
||||
@ -302,7 +306,6 @@ erase_if(vector<T, Allocator>& c, Predicate pred); // C++20
|
||||
#include <cstring>
|
||||
#include <iosfwd> // for forward declaration of vector
|
||||
#include <limits>
|
||||
#include <memory>
|
||||
#include <stdexcept>
|
||||
#include <type_traits>
|
||||
#include <version>
|
||||
|
@ -8,6 +8,7 @@
|
||||
|
||||
#include <assert.h>
|
||||
#include <memory>
|
||||
#include <new>
|
||||
|
||||
#include "test_macros.h"
|
||||
|
||||
|
@ -410,6 +410,7 @@ END-SCRIPT
|
||||
#include <__locale> // expected-error@*:* {{use of private header from outside its module: '__locale'}}
|
||||
#include <__mbstate_t.h> // expected-error@*:* {{use of private header from outside its module: '__mbstate_t.h'}}
|
||||
#include <__memory/addressof.h> // expected-error@*:* {{use of private header from outside its module: '__memory/addressof.h'}}
|
||||
#include <__memory/align.h> // expected-error@*:* {{use of private header from outside its module: '__memory/align.h'}}
|
||||
#include <__memory/allocate_at_least.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocate_at_least.h'}}
|
||||
#include <__memory/allocation_guard.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocation_guard.h'}}
|
||||
#include <__memory/allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator.h'}}
|
||||
@ -417,15 +418,18 @@ END-SCRIPT
|
||||
#include <__memory/allocator_traits.h> // expected-error@*:* {{use of private header from outside its module: '__memory/allocator_traits.h'}}
|
||||
#include <__memory/assume_aligned.h> // expected-error@*:* {{use of private header from outside its module: '__memory/assume_aligned.h'}}
|
||||
#include <__memory/auto_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/auto_ptr.h'}}
|
||||
#include <__memory/builtin_new_allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/builtin_new_allocator.h'}}
|
||||
#include <__memory/compressed_pair.h> // expected-error@*:* {{use of private header from outside its module: '__memory/compressed_pair.h'}}
|
||||
#include <__memory/concepts.h> // expected-error@*:* {{use of private header from outside its module: '__memory/concepts.h'}}
|
||||
#include <__memory/construct_at.h> // expected-error@*:* {{use of private header from outside its module: '__memory/construct_at.h'}}
|
||||
#include <__memory/destruct_n.h> // expected-error@*:* {{use of private header from outside its module: '__memory/destruct_n.h'}}
|
||||
#include <__memory/pointer_traits.h> // expected-error@*:* {{use of private header from outside its module: '__memory/pointer_traits.h'}}
|
||||
#include <__memory/ranges_construct_at.h> // expected-error@*:* {{use of private header from outside its module: '__memory/ranges_construct_at.h'}}
|
||||
#include <__memory/ranges_uninitialized_algorithms.h> // expected-error@*:* {{use of private header from outside its module: '__memory/ranges_uninitialized_algorithms.h'}}
|
||||
#include <__memory/raw_storage_iterator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/raw_storage_iterator.h'}}
|
||||
#include <__memory/shared_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/shared_ptr.h'}}
|
||||
#include <__memory/swap_allocator.h> // expected-error@*:* {{use of private header from outside its module: '__memory/swap_allocator.h'}}
|
||||
#include <__memory/temp_value.h> // expected-error@*:* {{use of private header from outside its module: '__memory/temp_value.h'}}
|
||||
#include <__memory/temporary_buffer.h> // expected-error@*:* {{use of private header from outside its module: '__memory/temporary_buffer.h'}}
|
||||
#include <__memory/uninitialized_algorithms.h> // expected-error@*:* {{use of private header from outside its module: '__memory/uninitialized_algorithms.h'}}
|
||||
#include <__memory/unique_ptr.h> // expected-error@*:* {{use of private header from outside its module: '__memory/unique_ptr.h'}}
|
||||
@ -549,6 +553,7 @@ END-SCRIPT
|
||||
#include <__type_traits/integral_constant.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/integral_constant.h'}}
|
||||
#include <__type_traits/is_abstract.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_abstract.h'}}
|
||||
#include <__type_traits/is_aggregate.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_aggregate.h'}}
|
||||
#include <__type_traits/is_allocator.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_allocator.h'}}
|
||||
#include <__type_traits/is_arithmetic.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_arithmetic.h'}}
|
||||
#include <__type_traits/is_array.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_array.h'}}
|
||||
#include <__type_traits/is_assignable.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/is_assignable.h'}}
|
||||
@ -631,6 +636,7 @@ END-SCRIPT
|
||||
#include <__type_traits/maybe_const.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/maybe_const.h'}}
|
||||
#include <__type_traits/nat.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/nat.h'}}
|
||||
#include <__type_traits/negation.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/negation.h'}}
|
||||
#include <__type_traits/noexcept_move_assign_container.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/noexcept_move_assign_container.h'}}
|
||||
#include <__type_traits/promote.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/promote.h'}}
|
||||
#include <__type_traits/rank.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/rank.h'}}
|
||||
#include <__type_traits/remove_all_extents.h> // expected-error@*:* {{use of private header from outside its module: '__type_traits/remove_all_extents.h'}}
|
||||
|
@ -33,7 +33,7 @@
|
||||
// This test is not supported when we remove the transitive includes provided for backwards
|
||||
// compatibility. When we bulk-remove them, we'll adjust the includes that are expected by
|
||||
// this test instead.
|
||||
// XFAIL: transitive-includes-disabled
|
||||
// UNSUPPORTED: transitive-includes-disabled
|
||||
|
||||
// Prevent <ext/hash_map> from generating deprecated warnings for this test.
|
||||
#if defined(__DEPRECATED)
|
||||
|
@ -1,4 +1,3 @@
|
||||
atomic
|
||||
bit
|
||||
climits
|
||||
cmath
|
||||
@ -8,16 +7,11 @@ cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
version
|
||||
|
@ -12,7 +12,6 @@ exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -2,21 +2,16 @@ atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
version
|
||||
|
@ -1,4 +1,3 @@
|
||||
atomic
|
||||
cctype
|
||||
climits
|
||||
cmath
|
||||
@ -9,20 +8,16 @@ cstdint
|
||||
cstdio
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
cwchar
|
||||
cwctype
|
||||
exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
string
|
||||
string_view
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
version
|
||||
|
@ -23,7 +23,6 @@ iosfwd
|
||||
istream
|
||||
limits
|
||||
locale
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
ostream
|
||||
|
@ -17,7 +17,6 @@ exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
ratio
|
||||
|
@ -22,7 +22,6 @@ iosfwd
|
||||
istream
|
||||
limits
|
||||
locale
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
ostream
|
||||
|
@ -17,7 +17,6 @@ exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -24,7 +24,6 @@ iosfwd
|
||||
istream
|
||||
limits
|
||||
locale
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
ostream
|
||||
|
@ -12,7 +12,6 @@ exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -1,5 +1,4 @@
|
||||
algorithm
|
||||
atomic
|
||||
bit
|
||||
climits
|
||||
cmath
|
||||
@ -9,16 +8,11 @@ cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
version
|
||||
|
@ -1,22 +1,9 @@
|
||||
atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
version
|
||||
|
@ -15,7 +15,6 @@ experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -15,7 +15,6 @@ forward_list
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -15,7 +15,6 @@ initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
list
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -1,5 +1,3 @@
|
||||
atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
@ -7,7 +5,6 @@ cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
experimental/memory_resource
|
||||
experimental/utility
|
||||
@ -15,13 +12,10 @@ initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
map
|
||||
memory
|
||||
new
|
||||
optional
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
utility
|
||||
version
|
||||
|
@ -1,24 +1,16 @@
|
||||
atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
utility
|
||||
version
|
||||
|
@ -21,7 +21,6 @@ experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
ratio
|
||||
|
@ -1,5 +1,3 @@
|
||||
atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
@ -7,21 +5,17 @@ cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
experimental/memory_resource
|
||||
experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
optional
|
||||
ratio
|
||||
set
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
utility
|
||||
version
|
||||
|
@ -1,4 +1,3 @@
|
||||
atomic
|
||||
cctype
|
||||
climits
|
||||
cmath
|
||||
@ -9,7 +8,6 @@ cstdint
|
||||
cstdio
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
cwchar
|
||||
cwctype
|
||||
exception
|
||||
@ -18,14 +16,11 @@ experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
string
|
||||
string_view
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
utility
|
||||
version
|
||||
|
@ -1,5 +1,3 @@
|
||||
atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
@ -7,21 +5,17 @@ cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
experimental/memory_resource
|
||||
experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
optional
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
unordered_map
|
||||
utility
|
||||
version
|
||||
|
@ -1,5 +1,3 @@
|
||||
atomic
|
||||
climits
|
||||
cmath
|
||||
compare
|
||||
concepts
|
||||
@ -7,21 +5,17 @@ cstddef
|
||||
cstdint
|
||||
cstdlib
|
||||
cstring
|
||||
ctime
|
||||
exception
|
||||
experimental/memory_resource
|
||||
experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
optional
|
||||
ratio
|
||||
stdexcept
|
||||
tuple
|
||||
type_traits
|
||||
typeinfo
|
||||
unordered_set
|
||||
utility
|
||||
version
|
||||
|
@ -14,7 +14,6 @@ experimental/utility
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
@ -23,7 +23,6 @@ iosfwd
|
||||
istream
|
||||
limits
|
||||
locale
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
ostream
|
||||
|
@ -23,7 +23,6 @@ ios
|
||||
iosfwd
|
||||
limits
|
||||
locale
|
||||
memory
|
||||
mutex
|
||||
new
|
||||
optional
|
||||
|
@ -12,7 +12,6 @@ exception
|
||||
initializer_list
|
||||
iosfwd
|
||||
limits
|
||||
memory
|
||||
new
|
||||
ratio
|
||||
stdexcept
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user