2024-08-22 23:17:24 +03:00
|
|
|
#ifndef POINTER_H
|
|
|
|
|
#define POINTER_H
|
|
|
|
|
|
|
|
|
|
namespace JGadget {
|
|
|
|
|
|
|
|
|
|
template<class T>
|
|
|
|
|
class TPointer {
|
|
|
|
|
public:
|
|
|
|
|
TPointer(T* ptr) : mPtr(ptr) {}
|
2025-04-12 00:54:08 +03:00
|
|
|
~TPointer() {}
|
2024-08-22 23:17:24 +03:00
|
|
|
void set(T* ptr) { mPtr = ptr; }
|
|
|
|
|
T* mPtr;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
template<class T>
|
|
|
|
|
class TPointer_delete : public TPointer<T> {
|
|
|
|
|
public:
|
2025-12-08 23:31:22 -05:00
|
|
|
#ifdef __MWERKS__
|
2024-08-22 23:17:24 +03:00
|
|
|
TPointer_delete(T* ptr) : TPointer(ptr) {}
|
|
|
|
|
~TPointer_delete() {
|
|
|
|
|
delete mPtr;
|
|
|
|
|
}
|
2025-12-08 23:31:22 -05:00
|
|
|
#else
|
|
|
|
|
TPointer_delete(T* ptr) : TPointer<T>(ptr) {}
|
|
|
|
|
~TPointer_delete() {
|
|
|
|
|
delete this->mPtr;
|
|
|
|
|
}
|
|
|
|
|
#endif
|
2024-08-22 23:17:24 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
2025-04-12 00:54:08 +03:00
|
|
|
#endif
|