25 lines
413 B
C++
25 lines
413 B
C++
|
|
#ifndef REFPTR_H
|
|
#define REFPTR_H REFPTR_H
|
|
|
|
template <typename T>
|
|
class refptr
|
|
{
|
|
public:
|
|
refptr<T>();
|
|
refptr<T>(const T * ptr);
|
|
refptr<T>(const refptr<T> & orig);
|
|
refptr<T> & operator=(const refptr<T> & orig);
|
|
~refptr<T>();
|
|
|
|
private:
|
|
void cloneFrom(const refptr<T> & orig);
|
|
void destroy();
|
|
|
|
T * m_ptr;
|
|
int * m_refCount;
|
|
};
|
|
|
|
#endif
|
|
|