Create a new shared pointer of class type T, using allocator Allocator. T will be created by using constructor that accepts Args. The default allocator is Mallocator.
Create a new shared pointer of type T*, using allocator Allocator. T will be creating by using constructor that accepts Args, or by implicitly stating *newMem = args[0]. The default allocator is Mallocator.
Create a new unique pointer of class type T, using allocator Allocator. T will be created by using constructor that accepts Args. The default allocator is Mallocator.
Create a new shared pointer of type T*, using allocator Allocator. T will be creating by using constructor that accepts Args, or by implicitly stating *newMem = args[0].
Shared Pointer of type T, using allocator Allocator. The default allocator is Mallocator.
Unique pointer of type T, using allocator Allocator. The default allocator is Mallocator.