Применяется в качестве базового класса или примеси для пользовательских классов, которые управляются подсчетом ссылок.
Обеспечивает подсчет кол-ва ссылок и самоуничтожение при их отсутствии. Конструктор устанавливает кол-во ссылок в 0. Деструктор данного класса объевлен виртуальным, что обеспечивает вызовы деструкторов производных классов.
Данный класс следует использовать когда в деструкторе не требуется работа с ссылочными указателями на данный объект (она невозможна, т.к. при выполнении деструктора объект уже находится в удаляемом состоянии). Данный класс подходит для большинства случаев реализации подсчета ссылок.
Ограничения:
Данный класс обеспечивает многопоточность.
См. определение в файле RefBase.h строка 43
Защищенные члены | |
RefBase () | |
Конструктор. | |
virtual | ~RefBase () |
Виртуальный деструктор. | |
void | DeleteInstance () |
Реализация IRefObject::DeleteInstance. | |
Друзья | |
class | RefBaseEx |
class | SpecUtils::RefBasePtrProxy |
class | SpecUtils::RefBasePtrPtrProxy |
Cntm::RefBase::RefBase | ( | ) | [inline, protected] |
virtual Cntm::RefBase::~RefBase | ( | ) | [inline, protected, virtual] |
Виртуальный деструктор.
Проверяет кол-во ссылок на уничтожаемый объект.
Исключение: RefObjectUsedException - когда на объект еще имеются ссылки. Это исключение обрабатывается самой библиотекой и служит отладочным целям.
void Cntm::RefBase::DeleteInstance | ( | ) | [inline, protected, virtual] |
Реализация IRefObject::DeleteInstance.
Уничтожает объект.
Замещает Cntm::IRefObject.
Переопределяется в Cntm::ActiveRefBase, Cntm::ActiveRefBaseEx, Cntm::ActiveSynchroRefBase, Cntm::ActiveSynchroRefBaseEx, Cntm::RefBaseEx, Cntm::SynchroRefBase и Cntm::SynchroRefBaseEx.
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |