Name

RefCntPtr — Pointer to object T which maintains (intrusive) object reference count.

Synopsis

template<typename T> 
class RefCntPtr : public PtrBaseSernaApi::PtrBase< T > {
public:
  // construct/copy/destruct
  RefCntPtr();
  RefCntPtr(T *);
  template<class T1 > RefCntPtr(const RefCntPtr< T1 > &);
  RefCntPtr(const RefCntPtr &);
  RefCntPtr& operator=(T *);
  RefCntPtr& operator=(const RefCntPtr &);
  ~RefCntPtr();

  // public member functions

  void swap(RefCntPtr &) ;
  void clear() ;
  int count() ;

  // private member functions

  RefCntPtr & assign(T *) ;
};

Description

Pointer to object T which maintains (intrusive) object reference count. T must have RefCounted class as it's base class (or at least maintain same interface). T may be an incomplete type.

RefCntPtr construct/copy/destruct

  1. RefCntPtr();


  2. RefCntPtr(T * ptr);


  3. template<class T1 > RefCntPtr(const RefCntPtr< T1 > & other);


  4. RefCntPtr(const RefCntPtr & other);


  5. RefCntPtr& operator=(T * other);


  6. RefCntPtr& operator=(const RefCntPtr & other);


  7. ~RefCntPtr();


RefCntPtr public member functions

  1. void swap(RefCntPtr & other) ;


  2. void clear() ;


  3. int count() ;


RefCntPtr private member functions

  1. RefCntPtr & assign(T * other) ;