Namespaces
Variants
Actions

std::uninitialized_construct_using_allocator

From cppreference.com
< cpp‎ | memory
 
 
Memory management library
(exposition only*)
uninitialized_construct_using_allocator
(C++20)
Uninitialized storage (until C++20)
(until C++20*)
(until C++20*)

(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
(C++11)(until C++23)
 
Defined in header <memory>
template< class T, class Alloc, class... Args >

constexpr T* uninitialized_construct_using_allocator( T* p,
                                                      const Alloc& alloc,

                                                      Args&&... args );
(since C++20)

Creates an object of the given type T by means of uses-allocator construction at the uninitialized memory location indicated by p.

Equivalent to

return std::apply (
 [&]<class... Xs>(Xs&&...xs)
 {
 return std::construct_at (p, std::forward <Xs>(xs)...);
 },
 std::uses_allocator_construction_args <T>(alloc, std::forward <Args>(args)...));

[edit] Parameters

p - the memory location where the object will be placed
alloc - the allocator to use
args - the arguments to pass to T's constructor

[edit] Return value

Pointer to the newly-created object of type T.

[edit] Exceptions

May throw any exception thrown by the constructor of T, typically including std::bad_alloc .

[edit] Example

This section is incomplete
Reason: no example

[edit] See also

checks if the specified type supports uses-allocator construction
(class template) [edit]
creates an object of the given type by means of uses-allocator construction
(function template) [edit]
Retrieved from "https://en.cppreference.com/mwiki/index.php?title=cpp/memory/uninitialized_construct_using_allocator&oldid=154678"

AltStyle によって変換されたページ (->オリジナル) /