No need to use NULL, just use 0
The result of operator= cannot be an l-value --HG-- extra : convert_revision : df97a57f466e3498bd5a29638cb9912c7f3e1bd4
This commit is contained in:
parent
0bd7518480
commit
9e90bfafb5
1 changed files with 6 additions and 8 deletions
|
@ -28,10 +28,8 @@
|
|||
* Authors: Nathan Binkert
|
||||
*/
|
||||
|
||||
#ifndef __REFCNT_HH__
|
||||
#define __REFCNT_HH__
|
||||
|
||||
#include <stddef.h> //For the NULL macro definition
|
||||
#ifndef __BASE_REFCNT_HH__
|
||||
#define __BASE_REFCNT_HH__
|
||||
|
||||
class RefCounted
|
||||
{
|
||||
|
@ -77,7 +75,7 @@ class RefCountingPtr
|
|||
|
||||
|
||||
public:
|
||||
RefCountingPtr() : data(NULL) {}
|
||||
RefCountingPtr() : data(0) {}
|
||||
RefCountingPtr(T *data) { copy(data); }
|
||||
RefCountingPtr(const RefCountingPtr &r) { copy(r.data); }
|
||||
~RefCountingPtr() { del(); }
|
||||
|
@ -90,8 +88,8 @@ class RefCountingPtr
|
|||
const T &operator*() const { return *data; }
|
||||
const T *get() const { return data; }
|
||||
|
||||
RefCountingPtr &operator=(T *p) { set(p); return *this; }
|
||||
RefCountingPtr &operator=(const RefCountingPtr &r)
|
||||
const RefCountingPtr &operator=(T *p) { set(p); return *this; }
|
||||
const RefCountingPtr &operator=(const RefCountingPtr &r)
|
||||
{ return operator=(r.data); }
|
||||
|
||||
bool operator!() const { return data == 0; }
|
||||
|
@ -122,4 +120,4 @@ template<class T>
|
|||
bool operator!=(const T &l, const RefCountingPtr<T> &r)
|
||||
{ return l != r.get(); }
|
||||
|
||||
#endif // __REFCNT_HH__
|
||||
#endif // __BASE_REFCNT_HH__
|
||||
|
|
Loading…
Reference in a new issue