Библиотека CntmLib C++  :: Контейнеры (пакет Cntm.Containers)
Документация
  • Знакомство с 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

  • Главная :: Документация :: Описание классов :: Download 

    © 2005, Овсеевич Р.В.
    SourceForge.net Logo