DestructorReturnType
template<typename Type, typename DestructorReturnType,
DestructorReturnType (*Destructor)(Type*)>
template<typename Type, typename DestructorReturnType,
DestructorReturnType (*Destructor)(Type*)>
: AutoDeleter<Type, CObjectDelete<Type, DestructorReturnType, Destructor> >
template<typename Type, typename DestructorReturnType>
DestructorReturnType (Type::*fDestructor)();
template<typename Type, typename DestructorReturnType = void>
: AutoDeleter<Type, MethodDelete<Type, DestructorReturnType> >
typedef AutoDeleter<Type, MethodDelete<Type, DestructorReturnType> > Base;
template<typename Type, typename DestructorReturnType,
DestructorReturnType (*Destructor)(Type*)>
template<typename Type, typename DestructorReturnType,
DestructorReturnType (*Destructor)(Type*)>
: AutoDeleter<Type, CObjectDelete<Type, DestructorReturnType, Destructor> >
template<typename Type, typename DestructorReturnType,
DestructorReturnType (Type::*Destructor)()>
template<typename Type, typename DestructorReturnType,
DestructorReturnType (Type::*Destructor)()>
: AutoDeleter<Type, MethodDelete<Type, DestructorReturnType, Destructor> >