Add support for callbacks

This commit is contained in:
2025-08-14 12:47:10 -04:00
parent 5756642ddb
commit 8b4769bf7e
10 changed files with 431 additions and 130 deletions

View File

@@ -14,7 +14,8 @@ template <class T>
class SmartPointer
{
public:
SmartPointer(void);
// SmartPointer(void);
SmartPointer(bool createNew=false);
SmartPointer(T FAR *lpSmartPointer,PointerDisposition::Disposition disposition=PointerDisposition::Assume);
SmartPointer(const SmartPointer<T> &someSmartPointer);
virtual ~SmartPointer();
@@ -36,11 +37,23 @@ private:
PointerDisposition::Disposition mDisposition;
};
// template <class T>
// inline
// SmartPointer<T>::SmartPointer(void)
// : mlpSmartPointer(0), mDisposition(PointerDisposition::Assume)
// {
// }
template <class T>
inline
SmartPointer<T>::SmartPointer(void)
SmartPointer<T>::SmartPointer(bool createNew)
: mlpSmartPointer(0), mDisposition(PointerDisposition::Assume)
{
if(createNew)
{
mlpSmartPointer = ::new T();
mDisposition = PointerDisposition::Delete;
}
}
template <class T>