Документация
Знакомство с CntmLib
Общие сведения
Установка и использование
Основные пакеты
Вспомогательные пакеты
Лицензия
Описание классов
|
НАЗНАЧЕНИЕ ПАКЕТА
Данный пакет содержит разнообразные классы, связанные с подсчетом
ссылок.
Данный пакет содержит классы хэндлов. Хэндлы являются развитием идеи подсчета ссылок. Они во
многом похожи на ссылочные указатели, но только вместо удаления объекта, когда не остается хэндлов,
связанных с объектом, они вызывают указанный в параметре шаблона метод или функцию. Хэндлы
одновременно являются и ссылочными указателями. Имеется 4 базовых класса
хэндлов: Cntm::RefHandle, Cntm::RefHandleFn, Cntm::SynchroRefHandle,
Cntm::SynchroRefHandleFn. 1 и 3 классы обеспечивают вызов метода объекта, с которым
связаны хэндлы, 2 и 4 - вызов функции. Кроме того классы SynchroRefHandle... обеспечивают синхронный
отложенный вызов (см. синхронизацию) указанного метода или функции. В качестве
примера использования можно предложить хэндл для класса файла. Это позволит автоматизировать закрытие файла
без уничтожения самого объекта файла.
class File: public RefBase
{
public:
typedef RefPtr<File> Ptr;
File(string name);
void Close();
typedef RefHandle<File, &File::Close> Handle;
};
СМ.
Классы перечней, хранящих не ссылочные указатели Cntm::NoRefPtrRegister и
Cntm::NoRefPtrRegisterEx
Классы хэндлов Cntm::RefHandle, Cntm::RefHandleFn
Классы синхронизированных хэндлов Cntm::SynchroRefHandle, Cntm::SynchroRefHandleFn
|