Синхросекции автоматизируют процесс входа и выхода из синхропространства. В конструкторе синхросекций обычно производится вход в нереентерабельном режиме, а в деструкторе - выход из синхропространства в нереентерабельном режиме.
Использование синхросекций повышает удобство (для входа/выхода требуется написать только 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 |