template class axl::rc::Ptr
#include <axl_rc_Ptr.h>
template <typename T>
class Ptr
{
public:
// construction
Ptr();
Ptr(const NullPtr&);
Ptr(const Ptr& src);
template <typename A>
Ptr(const Ptr<A>& src);
template <typename A>
Ptr(const WeakPtr<A>& src);
template <typename A>
Ptr(A* p);
Ptr(
T* p,
RefCount* refCount
);
~Ptr();
// methods
operator T *() const;
T*
operator->() const;
Ptr&
operator=(const NullPtr&);
Ptr&
operator=(const Ptr& src);
T*
p() const;
RefCount*
getRefCount() const;
void
copy(
T* p,
RefCount* refCount
);
void
attach(
T* p,
RefCount* refCount
);
T*
detach(RefCount** refCount = NULL);
void
clear();
};