This struct should be used by only shared_ptr constructors. Its purpose is to enable shared_ptr constructors to determine if the (template parameter) types COMPATIBLE_TYPE or ELEMENT_TYPE have a specialization of enable_shared_from_this as an unambiguous, publicly accessible, base class.
See bslstl_sharedptr
template<class SHARED_TYPE , class ENABLE_TYPE >
Load the specified result with the control block (i.e., SharedPtrRep) from the specified sharedPtr if (and only if) result is not 0 and result does not already refer to a non-expired shared-pointer control block. If result is 0, or if result->d_weakThis has not expired, this operation has no effect. This operation is used to initialize data members from a type that inherits from enable_shared_from_this when constructing an out-of-place shared pointer representation. This function shall be called only by shared_ptr constructors creating shared pointers for classes that derive publicly and unambiguously from a specialization of enabled_shared_from_this.
- Note
- Note that overload resolution will select the overload below if a supplied type does not derive from a specialization of enable_shared_from_this .