Объединяет средства синхронизации, предоставляемые классом 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. |
См. определение в файле SynchroAggregatedBase.h строка 44
Cntm::SynchroAggregatedBase::SynchroAggregatedBase | ( | IRefObject * | Aggregate, | |
const SynchroSpace::Ptr & | Space = Cntm::SynchroSpace::Ptr() | |||
) | [inline, protected] |
Конструктор используется, когда операция создания синхрообъекта уже выполняется внутри пространства, к которому будет принадлежать новый объект.
Если синхропространство не указано, то будет использовано главное синхропространство (т.о. если в программе используется только главное синхропространство, то нет необходимости указывать его явно).
Aggregate | - агрегат, в который будет входить создаваемый объект. Не должен принимать значение NULL. | |
Space | - (опционально) используется для задания синхропространства, к которому будет принадлежать создаваемый объект. |
См. определение в файле 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
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |