The OpenD Programming Language

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 Ts, not an array. To allocate and initialize an array, use makeArray!T described below.)

struct TypedAllocator(PrimaryAllocator, Policies...)
make
(
T
A...
)
(
auto ref A args
)

Parameters

T

Type of the object being created.

args A

Optional arguments used for initializing the created object. If not present, the object is default constructed.

Return Value

Type: auto

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.

Meta