System::DynamicWeakPtr class

DynamicWeakPtr class

Smart pointer class which tracks pointer modes of template arguments of stored object and updates them after each assignment. This type is a pointer to manage other object’s deletion. It should be allocated on stack and passed to functions either by value or by const reference.

template<typename T,SmartPtrMode,unsigned int ...>class DynamicWeakPtr : public System::SmartPtr<T>
ParameterDescription
Pointeetype.
trunkModeMode of smart pointer itself, shared or weak.
weakLeafsIndexes of template arguments of stored type which should be set to weak pointer mode.

Nested classes

Methods

MethodDescription
DynamicWeakPtr(std::nullptr_t)Creates null smart pointer.
DynamicWeakPtr(Pointee_ *)Creates smart pointer pointing to given object.
DynamicWeakPtr(const SmartPtr_&)Copy-constructs smart pointer.
DynamicWeakPtr(const SmartPtr<Q>&)Copy-constructs smart pointer.
DynamicWeakPtr(const DynamicWeakPtr_&)Copy-constructs smart pointer.
DynamicWeakPtr(SmartPtr_&&)Move-constructs smart pointer.
operator=(SmartPtr_&&)Move-assigns smart pointer.
operator=(const SmartPtr_&)Copy-assigns smart pointer.
operator=(const SmartPtr<Q>&)Copy-assigns smart pointer.
operator=(typename SmartPtr_::Pointee_ *)Assigns smart pointer.
operator=(std::nullptr_t)Sets smart pointer to null.
operator==(std::nullptr_t) constChecks if smart pointer is null.

Typedefs

TypedefDescription
SmartPtr_SmartPtr baseclass alias.
DynamicWeakPtr_Self type alias.
Pointee_Pointed type.

See Also