#include <OTC/refcnt/cctrptr.hh> template<class T> class OTC_CCtrPtr {
public:
OTC_CCtrPtr();
OTC_CCtrPtr(T const* theItem);
OTC_CCtrPtr(OTC_CCtrPtr<T> const& theCtrPtr);
~OTC_CCtrPtr();
inline T const* item() const;
inline T const* operator->() const;
inline operator T const*() const;
inline T const& operator*() const;
inline OTC_Boolean operator!() const;
inline OTC_Boolean operator==(int theItem) const;
inline OTC_Boolean operator!=(int theItem) const;
inline OTC_Boolean operator==(T const* theItem) const;
inline OTC_Boolean operator!=(T const* theItem) const;
void setItem(OTC_CCtrPtr<T> const& theCtrPtr);
void setItem(T const* theItem);
OTC_CCtrPtr<T>& operator=(OTC_CCtrPtr<T> const& theCtrPtr);
OTC_CCtrPtr<T>& operator=(T const* theItem);
u_int numRefs() const;
protected:
inline T* _item() const;
T* _itemNoNull() const;
};
OTC_CCtrPtr();
OTC_CCtrPtr(T const* theItem);
theItem
.
OTC_CCtrPtr(OTC_CCtrPtr<T> const& theCtrPtr);
theCtrPtr
.
~OTC_CCtrPtr();
inline T const* item() const;
inline T const* operator->() const;
inline operator T const*() const;
inline T const& operator*() const;
inline OTC_Boolean operator!() const;
inline OTC_Boolean operator==(int theItem) const;
inline OTC_Boolean operator!=(int theItem) const;
inline OTC_Boolean operator==(T const* theItem) const;
inline OTC_Boolean operator!=(T const* theItem) const;
void setItem(OTC_CCtrPtr<T> const& theCtrPtr);
theCtrPtr
.
void setItem(T const* theItem);
theItem
.
OTC_CCtrPtr<T>& operator=(OTC_CCtrPtr<T> const& theCtrPtr);
theCtrPtr
.
OTC_CCtrPtr<T>& operator=(T const* theItem);
theItem
.
u_int numRefs() const;