
Синхросекции автоматизируют процесс входа и выхода из синхропространства. В конструкторе синхросекций обычно производится вход в нереентерабельном режиме, а в деструкторе - выход из синхропространства в нереентерабельном режиме.
Использование синхросекций повышает удобство (для входа/выхода требуется написать только 1 строку кода) и надежность (выход из синхропространства будет произведен в любом случае, в т.ч. и при исключении).
Объекты синхросекций содержат ссылочные указатели на синхрообъекты или на синхропространства (IBasicSynchro), в которые произведен вход. Если синхросекция не используется для входа, то указатель на синхропространство равен NULL.
Данный класс не поддерживает многопоточность.
См. определение в файле Sync.h строка 33
Открытые члены | |
| Sync () | |
| Конструктор по умолчанию. | |
| Sync (IBasicSynchro::Ptr Object) | |
| Конструктор инициализации IBasicSynchro. | |
| template<typename T> | |
| Sync (RefPtr< T > Object) | |
| Конструктор инициализации IBasicSynchro. | |
| Sync (const BasicSync &Src) | |
| Конструктор копирования. | |
| Sync (const Sync &Src) | |
| Конструктор копирования. | |
| ~Sync () | |
| Деструктор. | |
| Sync & | operator= (IBasicSynchro::Ptr Object) |
| Оператор присвоения синхрообъекта. | |
| template<typename T> | |
| Sync & | operator= (RefPtr< T > Object) |
| Оператор присвоения синхрообъекта. | |
| Sync & | operator= (const BasicSync &Src) |
| Оператор копирования. | |
| Sync & | operator= (const Sync &Src) |
| Оператор копирования. | |
| void | Set (IBasicSynchro::Ptr Object) |
| Установить новое значение Object(). | |
| void | Leave () |
| Выйти из синхропространства. | |
| Cntm::Sync::Sync | ( | ) | [inline] |
Конструктор по умолчанию.
Инициализирует указатель на IBasicSynchro в NULL и не выполняет никаких действий.
| Cntm::Sync::Sync | ( | IBasicSynchro::Ptr | Object | ) | [inline] |
Конструктор инициализации IBasicSynchro.
Производится вход в синхропространство, к которому принадлежит синхрообъект, в нереентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
| Object | - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL. |
| Cntm::Sync::Sync | ( | RefPtr< T > | Object | ) | [inline] |
Конструктор инициализации IBasicSynchro.
Производится вход в синхропространство, к которому принадлежит синхрообъект, в нереентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
| Object | - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL. |
| Cntm::Sync::Sync | ( | const BasicSync & | Src | ) | [inline] |
Конструктор копирования.
Если Object() источника не равен NULL, то производится вход в синхропространство в нереентерабельном режиме.
| Src | - источник, из которого берется Object(). |
См. определение в файле Sync.h строка 72
Перекрестные ссылки Cntm::BasicSync::Object().
| Cntm::Sync::Sync | ( | const Sync & | Src | ) | [inline] |
Конструктор копирования.
Если Object() источника не равен NULL, то производится вход в синхропространство в нереентерабельном режиме.
| Src | - источник, из которого берется Object(). |
См. определение в файле Sync.h строка 78
Перекрестные ссылки Cntm::BasicSync::Object().
| Cntm::Sync::~Sync | ( | ) | [inline] |
| Sync& Cntm::Sync::operator= | ( | IBasicSynchro::Ptr | Object | ) | [inline] |
Оператор присвоения синхрообъекта.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Производит вход в синхропространство, к которому принадлежит синхрообъект, в нереентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
| Object | - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL. |
См. определение в файле Sync.h строка 91
Перекрестные ссылки Set().
Оператор присвоения синхрообъекта.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Производит вход в синхропространство, к которому принадлежит синхрообъект, в нереентерабельном режиме.
Исключение: NullArgException если аргумент Object равен NULL.
| Object | - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL. |
См. определение в файле Sync.h строка 105
Перекрестные ссылки Set().
Оператор копирования.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Если Object() источника не равен NULL, то производится вход в синхропространство в нереентерабельном режиме. Object() принимает новое значение.
Если новое синхропространство Src.Object() совпадает со старым, то ни каких действий не выполняется.
| Src | - источник, из которого берется Object(). |
См. определение в файле Sync.h строка 119
Перекрестные ссылки Cntm::BasicSync::Object() и Set().
Оператор копирования.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Если Object() источника не равен NULL, то производится вход в синхропространство в нереентерабельном режиме. Object() принимает новое значение.
Если новое синхропространство Src.Object() совпадает со старым, то ни каких действий не выполняется.
| Src | - источник, из которого берется Object(). |
См. определение в файле Sync.h строка 127
Перекрестные ссылки Cntm::BasicSync::Object() и Set().
| void Cntm::Sync::Set | ( | IBasicSynchro::Ptr | Object | ) | [inline] |
Установить новое значение Object().
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Если Object() источника не равен NULL, то производится вход в синхропространство в нереентерабельном режиме. Object() принимает новое значение.
Если новое синхропространство совпадает со старым, то ни каких действий не выполняется.
| Object | - синхропространство, в которое требуется войти в нереентерабельном режиме. |
См. определение в файле Sync.h строка 135
Перекрестные ссылки Leave() и Cntm::BasicSync::Object().
| void Cntm::Sync::Leave | ( | ) | [inline] |
Выйти из синхропространства.
Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Object() принимает значение NULL.
См. определение в файле Sync.h строка 145
Перекрестные ссылки Cntm::BasicSync::Object() и Cntm::BasicSync::ResetObject().
|
|
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой
1.5.3
|