Что использовать из boost'а вместо reference counter класса
От: Аноним  
Дата: 14.06.10 11:20
Оценка:
Добрый день.

Была поставлена задача заменить такой класс:


template < class T, class ThreadingModel = ::Loki::ObjectLevelLockable<T> >
class RefCounted : public ThreadingModel {
public:
    RefCounted() : m_refCount(0) {}
protected:
    ~RefCounted() {}  // Note non-virtual
    
public:
    void ref() const;
    void unref() const;
    int getRefCount() const;

private:
    RefCounted(const ClassType&);
    void operator=(const ClassType&);
};



чем-нибудь из boost'а.

Сам класс используется так:


  class MyClass : public RefCounted<MyClass> {
  public:
     MyClass();
     ~MyClass();
  public:
     ...
  };




Насколько я понимаю, для этой цели более всего подходит shared_ptr<MyClass>.
Но, возможно, есть более простой в реализации вариант замены — при использовании shared_ptr нужно будет везде менять отношение наследования на отношение использования.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.