#include <OTC/refcnt/cctrvptr.hh> template<class T> class OTC_CCtrVecPtr {
public:
OTC_CCtrVecPtr();
OTC_CCtrVecPtr(T const* theItem);
OTC_CCtrVecPtr(OTC_CCtrVecPtr<T> const& theCtrPtr);
~OTC_CCtrVecPtr();
inline T const* item() const;
inline T const& operator[](u_int theIndex) 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_CCtrVecPtr<T> const& theCtrPtr);
void setItem(T const* theItem);
OTC_CCtrVecPtr<T>& operator=(OTC_CCtrVecPtr<T> const& theCtrPtr);
OTC_CCtrVecPtr<T>& operator=(T const* theItem);
u_int numRefs() const;
protected:
inline T* _item() const;
T* _itemNoNull() const;
};
OTC_CCtrVecPtr();
OTC_CCtrVecPtr(T const* theItem);
theItem
.
OTC_CCtrVecPtr(OTC_CCtrVecPtr<T> const& theCtrPtr);
theCtrPtr
.
~OTC_CCtrVecPtr();
inline T const* item() const;
inline T const& operator[](u_int theIndex) const;
theIndex
. Note that
no bounds checking is done. Also, if no
item is held, an exception is generated.
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_CCtrVecPtr<T> const& theCtrPtr);
theCtrPtr
.
void setItem(T const* theItem);
theItem
.
OTC_CCtrVecPtr<T>& operator=(OTC_CCtrVecPtr<T> const& theCtrPtr);
theCtrPtr
.
OTC_CCtrVecPtr<T>& operator=(T const* theItem);
theItem
.
u_int numRefs() const;