Класс Cntm::SynchroRefBase
[Cntm.Synchro]

Граф наследования:Cntm::SynchroRefBase:

Cntm::RefBase Cntm::SynchroObject Cntm::IRefObject Cntm::IBasicSynchro Cntm::IRefObject Cntm::ActiveSynchroRefBase

Полный список членов класса


Подробное описание

Базовый класс для синхрообъектов.

Объединяет средства синхронизации, предоставляемые классом Cntm::SynchroObject, и простого подсчета ссылок, предоставляемого классом Cntm::RefBase. См. описания базовых классов, а также класса Cntm::SynchroSpace.

Данный класс может использоваться в качестве базового класса или примеси для объектов, которым требуются средства синхронизации и не требуется расширенных возможностей подсчета ссылок.

Данный класс обеспечивает многопоточность.

Автор:
Овсеевич Р.

См. определение в файле SynchroRefBase.h строка 33


Защищенные члены

 SynchroRefBase (const SynchroSpace::Ptr &Space=Cntm::SynchroSpace::Ptr())
 Конструктор используется, когда операция создания синхрообъекта уже выполняется внутри пространства, к которому будет принадлежать новый объект.
 SynchroRefBase (Sync &ConstructSync)
 Конструктор используется, когда объект создается в новом или просто другом синхропространстве.
 SynchroRefBase (ReentrantSync &ConstructSync)
 Конструктор используется, когда объект создается в новом или просто другом синхропространстве.
void DeleteInstance ()
 Реализация IRefObject::DeleteInstance.

Конструктор(ы)

Cntm::SynchroRefBase::SynchroRefBase ( const SynchroSpace::Ptr Space = Cntm::SynchroSpace::Ptr()  )  [inline, protected]

Конструктор используется, когда операция создания синхрообъекта уже выполняется внутри пространства, к которому будет принадлежать новый объект.

Если синхропространство не указано, то будет использовано главное синхропространство (т.о. если в программе используется только главное синхропространство, то нет необходимости указывать его явно).

Аргументы:
Space - (опционально) используется для задания синхропространства, к которому будет принадлежать создаваемый объект.
Исключение Cntm::IllegalStateException - если синхропространство явно не указано, а главное синхропространство отсутствует

См. определение в файле SynchroRefBase.h строка 44

Cntm::SynchroRefBase::SynchroRefBase ( Sync ConstructSync  )  [inline, protected]

Конструктор используется, когда объект создается в новом или просто другом синхропространстве.

В этом случае конструктор синхрообъекта пытается извлечь синхропространство из ConstructSync и если ConstructSync был проинициализирован, то использует извлеченное синхропространство. Если был указан пустой ConstructSync, то первым делом конструктор синхрообъекта создает дополнительное синхропространство (класс Cntm::ExtraSynchroSpace) и присваивает его ConstructSync (который передан по ссылке). Т.о. работа конструктора SynchroObject и конструкторов производных классов всегда будет осуществляться внутри синхпространства данного объекта.

Аргументы:
ConstructSync - ссылка на синхросекцию, которая обеспечивает нахождение в синхропространстве при создании объекта.

См. определение в файле SynchroRefBase.h строка 52

Cntm::SynchroRefBase::SynchroRefBase ( ReentrantSync ConstructSync  )  [inline, protected]

Конструктор используется, когда объект создается в новом или просто другом синхропространстве.

В этом случае конструктор синхрообъекта пытается извлечь синхропространство из ConstructSync и если ConstructSync был проинициализирован, то использует извлеченное синхропространство. Если был указан пустой ConstructSync, то первым делом конструктор синхрообъекта создает дополнительное синхропространство (класс Cntm::ExtraSynchroSpace) и присваивает его ConstructSync (который передан по ссылке). Т.о. работа конструктора SynchroObject и конструкторов производных классов всегда будет осуществляться внутри синхпространства данного объекта.

Аргументы:
ConstructSync - ссылка на реентерабельную синхросекцию, которая обеспечивает нахождение в синхропространстве при создании объекта.

См. определение в файле SynchroRefBase.h строка 60


Методы

void Cntm::SynchroRefBase::DeleteInstance (  )  [inline, protected, virtual]

Реализация IRefObject::DeleteInstance.

Является служебным методом. Уничтожает объект.

Переопределяет метод предка Cntm::RefBase.

Переопределяется в Cntm::ActiveSynchroRefBase.

См. определение в файле SynchroRefBase.h строка 66


Объявления и описания членов класса находятся в файле:
SourceForge.net Logo
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой  doxygen 1.5.3