Scroll to navigation

std::uninitialized_construct_using_allocator(3) C++ Standard Libary std::uninitialized_construct_using_allocator(3)

NAME

std::uninitialized_construct_using_allocator - std::uninitialized_construct_using_allocator

Synopsis


Defined in header <memory>
template< class T, class Alloc, class... Args >


constexpr T* uninitialized_construct_using_allocator( T* p,
const Alloc& (since C++20)
alloc,


Args&&... args
);


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)...));

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

Return value


Pointer to the newly-created object of type T.

Exceptions


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

Example


This section is incomplete
Reason: no example

See also


uses_allocator checks if the specified type supports uses-allocator
(C++11) construction
(class template)
make_obj_using_allocator creates an object of the given type by means of
(C++20) uses-allocator construction
(function template)

Category:


* Todo no example

2024.06.10 http://cppreference.com