btl.autoptr.rc_ptr

Implementation of non aliasable reference counted pointer RcPtr (similar to c++ std::shared_ptr without aliasing).

Members

Functions

dynCast
UnqualSmartPtr!Ptr.ChangeElementType!T dynCast(Ptr ptr)
dynCastMove
UnqualSmartPtr!Ptr.ChangeElementType!T dynCastMove(Ptr ptr)

Dynamic cast for shared pointers if ElementType is class with D linkage.

first
auto first(Ptr ptr)

Return RcPtr pointing to first element of dynamic array managed by rc pointer ptr.

share
shared(Ptr) share(Ptr ptr)

Return shared RcPtr pointing to same managed object like parameter ptr.

Structs

Foo
struct Foo
Undocumented in source.

Templates

RcPtr
template RcPtr(_Type, _DestructorType = DestructorType!_Type, _ControlType = ControlBlockDeduction!(_Type, SharedControlBlock), bool _weakPtr = false)

Implementation of a ref counted pointer without support for aliasing (smaller size of pointer).

RcPtr
template RcPtr(_Type, _ControlType, _DestructorType = DestructorType!_Type)

Alias to RcPtr with different order of template parameters

isRcPtr
template isRcPtr(T)

Check if type T is RcPtr.

Meta

Authors

Adam Búš