Namespaces
Variants
Views
Actions

std::allocator_traits::construct

From cppreference.com
Defined in header <memory>
template< class T, class... Args >
static void construct( Alloc& a, T* p, Args&&... args );
(since C++11)

If possible, constructs an object of type T in allocated uninitialized storage pointed to by p, by calling

a.construct(p, std::forward<Args>(args)...)

If the above is not possible (e.g. a does not have the member function construct(),), then calls placement-new as

    ::new (static_cast<void*>(p)) T(std::forward<Args>(args)...)

Contents

[edit] Parameters

a - allocator to use for construction
args... - the constructor arguments to pass to a.construct() or to placement-new

[edit] Return value

(none)

[edit] Notes

This function is used by the standard library containers when inserting, copying, or moving elements.

[edit] See also

allocation functions
(function) [edit]
constructs an object in allocated storage
(public member function of std::allocator) [edit]