diff options
author | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
---|---|---|
committer | Alexander Smirnov <alex@ydb.tech> | 2024-11-20 11:14:58 +0000 |
commit | 31773f157bf8164364649b5f470f52dece0a4317 (patch) | |
tree | 33d0f7eef45303ab68cf08ab381ce5e5e36c5240 /contrib/libs/cxxsupp/libcxx/include/memory | |
parent | 2c7938962d8689e175574fc1e817c05049f27905 (diff) | |
parent | eff600952d5dfe17942f38f510a8ac2b203bb3a5 (diff) | |
download | ydb-31773f157bf8164364649b5f470f52dece0a4317.tar.gz |
Merge branch 'rightlib' into mergelibs-241120-1113
Diffstat (limited to 'contrib/libs/cxxsupp/libcxx/include/memory')
-rw-r--r-- | contrib/libs/cxxsupp/libcxx/include/memory | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/contrib/libs/cxxsupp/libcxx/include/memory b/contrib/libs/cxxsupp/libcxx/include/memory index cd6bcc7eaa..24ba82f43d 100644 --- a/contrib/libs/cxxsupp/libcxx/include/memory +++ b/contrib/libs/cxxsupp/libcxx/include/memory @@ -867,6 +867,43 @@ template <class T> struct hash<shared_ptr<T> >; template <class T, class Alloc> inline constexpr bool uses_allocator_v = uses_allocator<T, Alloc>::value; +// [allocator.uses.construction], uses-allocator construction +template<class T, class Alloc, class... Args> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + Args&&... args) noexcept; +template<class T, class Alloc, class Tuple1, class Tuple2> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + piecewise_construct_t, + Tuple1&& x, Tuple2&& y) noexcept; +template<class T, class Alloc> + constexpr auto uses_allocator_construction_args(const Alloc& alloc) noexcept; // since C++20 +template<class T, class Alloc, class U, class V> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + U&& u, V&& v) noexcept; +template<class T, class Alloc, class U, class V> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++23 + pair<U, V>& pr) noexcept; +template<class T, class Alloc, class U, class V> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + const pair<U, V>& pr) noexcept; +template<class T, class Alloc, class U, class V> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + pair<U, V>&& pr) noexcept; +template<class T, class Alloc, class U, class V> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++23 + const pair<U, V>&& pr) noexcept; +template<class T, class Alloc, pair-like P> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + P&& p) noexcept; +template<class T, class Alloc, class U> + constexpr auto uses_allocator_construction_args(const Alloc& alloc, // since C++20 + U&& u) noexcept; +template<class T, class Alloc, class... Args> + constexpr T make_obj_using_allocator(const Alloc& alloc, Args&&... args); // since C++20 +template<class T, class Alloc, class... Args> + constexpr T* uninitialized_construct_using_allocator(T* p, // since C++20 + const Alloc& alloc, Args&&... args); + // [ptr.align] void* align(size_t alignment, size_t size, void*& ptr, size_t& space); |