Function std.experimental.allocator.typed.TypedAllocator.make
Dynamically allocates (using the appropriate allocator chosen with
allocatorFor!T
) and then creates in the memory allocated an object of
type T
, using args
(if any) for its initialization. Initialization
occurs in the memory allocated and is otherwise semantically the same as
T(args)
. (Note that using make!(T[])
creates a pointer to an
(empty) array of T
s, not an array. To allocate and initialize an
array, use makeArray!T
described below.)
auto make(T, A...)
(
auto ref A args
);
Parameters
Name | Description |
---|---|
T | Type of the object being created. |
args | Optional arguments used for initializing the created object. If not present, the object is default constructed. |
Returns
If T
is a class type, returns a reference to the created T
object. Otherwise, returns a T*
pointing to the created object. In all
cases, returns null
if allocation failed.
Throws
If T
's constructor throws, deallocates the allocated memory and
propagates the exception.