std::uninitialized_construct_using_allocator (3) - Linux Manuals

std::uninitialized_construct_using_allocator: std::uninitialized_construct_using_allocator

NAME

std::uninitialized_construct_using_allocator - std::uninitialized_construct_using_allocator

Synopsis


Defined in header <memory>
template< class T, class Alloc, class... Args > (since C++20)
T* uninitialized_construct_using_allocator( T* p, const Alloc& 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 ::new(static_cast<void*>(p)) T(
      std::make_obj_using_allocator<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 construction
                         (class template)
(C++11)


make_obj_using_allocator creates an object of the given type by means of uses-allocator construction
                         (function template)
(C++20)