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

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

Cntm::AggregatedBase Cntm::SynchroObject Cntm::IRefObject Cntm::IBasicSynchro Cntm::IRefObject

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


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

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

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

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

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

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

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


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

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

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

Cntm::SynchroAggregatedBase::SynchroAggregatedBase ( SynchroObject Aggregate  )  [inline, protected]

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

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

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

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

Cntm::SynchroAggregatedBase::SynchroAggregatedBase ( IRefObject Aggregate,
const SynchroSpace::Ptr Space = Cntm::SynchroSpace::Ptr() 
) [inline, protected]

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

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

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

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

Cntm::SynchroAggregatedBase::SynchroAggregatedBase ( IRefObject Aggregate,
Sync ConstructSync 
) [inline, protected]

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

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

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

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

Cntm::SynchroAggregatedBase::SynchroAggregatedBase ( IRefObject Aggregate,
ReentrantSync ConstructSync 
) [inline, protected]

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

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

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

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


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