btl.autoptr.intrusive_ptr

Implementation of intrusive reference counted pointer IntrusivePtr (similar to c++ std::enable_shared_from_this).

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.

intrusivePtr
auto intrusivePtr(Elm elm)
auto intrusivePtr(Ptr elm)

Create IntrusivePtr instance from class reference Elm or struct pointer element Elm.

share
shared(Ptr) share(Ptr ptr)

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

Structs

Bar
struct Bar
Undocumented in source.
Foo
struct Foo
Undocumented in source.

Templates

IntrusivePtr
template IntrusivePtr(_Type, bool _weakPtr = false)

Implementation of a ref counted pointer that points to an object with an embedded reference counter btl.autoptr.common.ControlBlock.

IntrusivePtr
template IntrusivePtr(_Type, _DestructorType, _ControlType = IntrusiveControlBlock!_Type, bool _weakPtr = false)
template IntrusivePtr(_Type, _ControlType, _DestructorType, bool _weakPtr = false)

Alias to IntrusivePtr with additional template parameters for same interface as SharedPtr and RcPtr

isIntrusivePtr
template isIntrusivePtr(T)

Check if type T is IntrusivePtr.

Meta

Authors

Adam Búš