Calls the destructor of the given object, if any.
Calls the postblit of the given object, if any.
Constructs an object of type T in given chunk of uninitialized memory just like T t = arg;.
Constructs an object of struct type S in given chunk of uninitialized memory just like auto s = S(args);.
Destructs t exactly the same way a compiler does in a case it goes out of scope. Also puts destructed object in its init state if resetInitialState is true, otherwise object state will be undefined (i.e. possibly invalid).
Destroys the given class instance and puts it in an invalid state. It's used to destroy an object so that any cleanup which its destructor or finalizer does is done. It does not initiate a GC cycle or free any GC memory. It always zero class instance __vptr. If resetMemory is true it will also set class instance memory to its initial state so that it no longer references any other objects.
Constructs an object of class type C at given reference to uninitialized memory just like auto c = new C(args); except given memory is used instead of allocating.
Determines whether class instance t is finalized.
Moves source into target.
Sets all elements of the passed dynamic array to its init state.
Sets the passed object to its init state.
Determines whether class instance t is finalized.
Forwards function arguments with saving ref-ness.
Functions for user-defined lifetime implementation.