Документация
Знакомство с CntmLib
Общие сведения
Установка и использование
Основные пакеты
Вспомогательные пакеты
Лицензия
Описание классов
|
НАЗНАЧЕНИЕ ПАКЕТА
Пакет содержит контейнерные шаблонные классы перечней Cntm::Register и Cntm::RegisterEx.
Особенности этих классов заключаются в том, что они не хранят значения, а
только
их регистрируют. Для хранения значений применяется специальный объект - эл-т
перечня. Кроме хранения эл-т отвечает за регистрацию значения в определенном
перечне, при установке значения он производит регистрацию значения в перечне, а
при своем уничтожение - убирает регистрацию, т.е. автоматизирует
управление наличием значения в перечне. Доступ к зарегистрированным в
перечне значениям производится через объекты-перечислители, которые позволяют
перебирать все значения перечня. Отличие Cntm::Register и Cntm::RegisterEx заключается в
том, что Cntm::RegisterEx является ссылочным объектом.
Также пакет содержит классы перечней для хранения набора обычных
указателей на ссылочные объекты - Cntm::NoRefPtrRegister и Cntm::NoRefPtrRegisterEx. Эти
классы могут применяться, когда ссылочному объекту требуется зарегистрировать
свой указатель в каком-либо перечне (например, в перечне объекта-владельца), но
так, чтобы эта регистрация не приводила к захвату ссылки на объект. В этом
случае ссылки на объект создаются только при перечислении перечня. Изъятие
объектов из перечня происходит автоматически при уничтожении ссылочного
объекта. Эти классы наследуют Cntm::Register и Cntm::RegisterEx.
Классы Cntm::NoRefPtrRegister и Cntm::NoRefPtrRegisterEx отличаются только тем, что
последний сам является ссылочным объектом.
Также пакет содержит класс Cntm::HandledList, похожий на класс Cntm::Register,
отличающийся от него тем, что сам хранит заносимые в него значения.
СМ.
Перечни Cntm::Register и Cntm::RegisterEx
Список, управляемый хэндлами эл-тов Cntm::HandledList
Тестовый пример Containers.cpp
|