A reference counted struct that wraps the dynamic shared allocator interface.
This should be used wherever a uniform type is required for encapsulating
various allocator implementations.
Code that defines allocators shareable across threads ultimately implements the
ISharedAllocator interface, possibly by using
CSharedAllocatorImpl below, and then build a RCISharedAllocator out
of this.
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 $(A std_experimental_allocator_building_blocks.html,
`std.experimental.allocator.building_blocks`), then adapt the composed allocator
to RCISharedAllocator (possibly by using sharedAllocatorObject below).
A reference counted struct that wraps the dynamic shared allocator interface. This should be used wherever a uniform type is required for encapsulating various allocator implementations.
Code that defines allocators shareable across threads ultimately implements the ISharedAllocator interface, possibly by using CSharedAllocatorImpl below, and then build a RCISharedAllocator out of this.
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 $(A std_experimental_allocator_building_blocks.html, `std.experimental.allocator.building_blocks`), then adapt the composed allocator to RCISharedAllocator (possibly by using sharedAllocatorObject below).