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

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

Cntm::RefBaseEx Cntm::SynchroObject Cntm::RefBase Cntm::IBasicSynchro Cntm::IRefObject Cntm::IRefObject Cntm::ActiveSynchroRefBaseEx

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


Методы

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

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

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

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

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

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


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