Module btl.autoptr.intrusive_ptr

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

Functions

NameDescription
dynCast() Dynamic cast for shared pointers if ElementType is class with D linkage.
dynCastMove() Dynamic cast for shared pointers if ElementType is class with D linkage.
intrusivePtr(elm) Create IntrusivePtr instance from class reference Elm or struct pointer element Elm.
share(ptr) Return shared IntrusivePtr pointing to same managed object like parameter ptr.

Structs

NameDescription
IntrusivePtr Implementation of a ref counted pointer that points to an object with an embedded reference counter ControlBlock.

Manifest constants

NameTypeDescription
isIntrusivePtr Check if type T is IntrusivePtr.

Aliases

NameTypeDescription
IntrusivePtr IntrusivePtr!(_Type,_weakPtr) Alias to IntrusivePtr with additional template parameters for same interface as SharedPtr and RcPtr