Interface std.experimental.allocator.ISharedAllocator
Dynamic shared allocator interface. Code that defines allocators shareable across threads ultimately implements this interface. This should be used wherever a uniform type is required for encapsulating various allocator implementations.
						
				interface ISharedAllocator
				;
						
					
				Composition of allocators is not recommended at this level due to
inflexibility of dynamic interfaces and inefficiencies caused by cascaded
multiple calls. Instead, compose allocators using the static interface defined
in std,
then adapt the composed
allocator to ISharedAllocator (possibly by using CSharedAllocatorImpl below).
Methods returning Ternary return Ternary upon success,
Ternary upon failure, and Ternary if the primitive is not
implemented by the allocator instance.
Properties
| Name | Type | Description | 
|---|---|---|
| alignment[get] | uint | Returns the alignment offered. | 
Methods
| Name | Description | 
|---|---|
| alignedAllocate | Allocates nbytes of memory with specified alignmenta. Implementations
    that do not support this primitive should always returnnull. | 
| alignedReallocate | Reallocates a memory block with specified alignment. | 
| allocate | Allocates nbytes of memory. | 
| allocateAll | Allocates and returns all memory available to this allocator.
    Implementations that do not support this primitive should always return null. | 
| deallocate | Deallocates a memory block. Implementations that don't support this
    primitive should always return false. A simple way to check that an
    allocator supports deallocation is to calldeallocate(null). | 
| deallocateAll | Deallocates all memory. Implementations that don't support this primitive
    should always return false. | 
| decRef | Decreases the reference count of the concrete class that implements this
    interface.
    When the reference count is 0, the object self-destructs. | 
| empty | Returns Ternaryif no memory is currently allocated from this
    allocator,Ternaryif some allocations are currently active, orTernaryif not supported. | 
| expand | Expands a memory block in place and returns trueif successful.
    Implementations that don't support this primitive should always returnfalse. | 
| goodAllocSize | Returns the good allocation size that guarantees zero internal fragmentation. | 
| incRef | Increases the reference count of the concrete class that implements this interface. | 
| owns | Returns Ternaryif the allocator ownsb,Ternaryif
    the allocator doesn't ownb, andTernaryif ownership
    cannot be determined. Implementations that don't support this primitive
    should always returnTernary. | 
| reallocate | Reallocates a memory block. | 
| resolveInternalPointer | Resolves an internal pointer to the full block allocated. Implementations
    that don't support this primitive should always return Ternary. |