Fix memory leaks.
This commit is contained in:
@ -29,10 +29,11 @@ class AutoPtr
|
||||
NV_FORBID_HEAPALLOC();
|
||||
public:
|
||||
|
||||
/** Ctor. */
|
||||
explicit AutoPtr( T * p ) {
|
||||
m_ptr = p;
|
||||
}
|
||||
/// Default ctor.
|
||||
AutoPtr() : m_ptr(NULL) { }
|
||||
|
||||
/// Ctor.
|
||||
explicit AutoPtr( T * p ) : m_ptr(p) { }
|
||||
|
||||
/** Dtor. Deletes owned pointer. */
|
||||
~AutoPtr() {
|
||||
@ -69,13 +70,23 @@ public:
|
||||
}
|
||||
|
||||
/** Const pointer equal comparation. */
|
||||
bool operator == (const T * const p) const {
|
||||
return (m_ptr == p);
|
||||
friend bool operator == (const AutoPtr<T> & ap, const T * const p) {
|
||||
return (ap.ptr() == p);
|
||||
}
|
||||
|
||||
/** Const pointer nequal comparation. */
|
||||
bool operator != (const T * const p) const {
|
||||
return (m_ptr != p);
|
||||
friend bool operator != (const AutoPtr<T> & ap, const T * const p) {
|
||||
return (ap.ptr() != p);
|
||||
}
|
||||
|
||||
/** Const pointer equal comparation. */
|
||||
friend bool operator == (const T * const p, const AutoPtr<T> & ap) {
|
||||
return (ap.ptr() == p);
|
||||
}
|
||||
|
||||
/** Const pointer nequal comparation. */
|
||||
friend bool operator != (const T * const p, const AutoPtr<T> & ap) {
|
||||
return (ap.ptr() != p);
|
||||
}
|
||||
|
||||
private:
|
||||
|
Reference in New Issue
Block a user