std::uninitialized_construct_using_allocator
From cppreference.com
Defined in header <memory> | ||
template<class T, class Alloc, class... Args> constexpr T* uninitialized_construct_using_allocator( T* p, | (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
returnstd::apply([&]<class... Xs>(Xs&&...xs){returnstd::construct_at(p, std::forward<Xs>(xs)...);}, std::uses_allocator_construction_args<T>(alloc, std::forward<Args>(args)...));
Contents |
[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
(C++11) | checks if the specified type supports uses-allocator construction (class template) |
(C++20) | creates an object of the given type by means of uses-allocator construction (function template) |