Класс Cntm::Sync

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

Cntm::BasicSync Cntm::UsingSync

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


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

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

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

Использование синхросекций повышает удобство (для входа/выхода требуется написать только 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 ()
 Деструктор.
Syncoperator= (IBasicSynchro::Ptr Object)
 Оператор присвоения синхрообъекта.
template<typename T>
Syncoperator= (RefPtr< T > Object)
 Оператор присвоения синхрообъекта.
Syncoperator= (const BasicSync &Src)
 Оператор копирования.
Syncoperator= (const Sync &Src)
 Оператор копирования.
void Set (IBasicSynchro::Ptr Object)
 Установить новое значение Object().
void Leave ()
 Выйти из синхропространства.

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

Cntm::Sync::Sync (  )  [inline]

Конструктор по умолчанию.

Инициализирует указатель на IBasicSynchro в NULL и не выполняет никаких действий.

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

Cntm::Sync::Sync ( IBasicSynchro::Ptr  Object  )  [inline]

Конструктор инициализации IBasicSynchro.

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

Исключение: NullArgException если аргумент Object равен NULL.

Аргументы:
Object - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL.

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

template<typename T>
Cntm::Sync::Sync ( RefPtr< T >  Object  )  [inline]

Конструктор инициализации IBasicSynchro.

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

Исключение: NullArgException если аргумент Object равен NULL.

Аргументы:
Object - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL.

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

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]

Деструктор.

Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL).

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

Перекрестные ссылки Leave().


Методы

Sync& Cntm::Sync::operator= ( IBasicSynchro::Ptr  Object  )  [inline]

Оператор присвоения синхрообъекта.

Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Производит вход в синхропространство, к которому принадлежит синхрообъект, в нереентерабельном режиме.

Исключение: NullArgException если аргумент Object равен NULL.

Аргументы:
Object - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL.

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

Перекрестные ссылки Set().

template<typename T>
Sync& Cntm::Sync::operator= ( RefPtr< T >  Object  )  [inline]

Оператор присвоения синхрообъекта.

Производит выход из синхропространства, если в него был произведен вход (Object() не равен NULL). Производит вход в синхропространство, к которому принадлежит синхрообъект, в нереентерабельном режиме.

Исключение: NullArgException если аргумент Object равен NULL.

Аргументы:
Object - IBasicSynchro, в синхропространство которого требуется войти в нереентерабельном режиме. Он не должен равняться NULL.

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

Перекрестные ссылки Set().

Sync& Cntm::Sync::operator= ( const BasicSync Src  )  [inline]

Оператор копирования.

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

Если новое синхропространство Src.Object() совпадает со старым, то ни каких действий не выполняется.

Аргументы:
Src - источник, из которого берется Object().

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

Перекрестные ссылки Cntm::BasicSync::Object() и Set().

Sync& Cntm::Sync::operator= ( const Sync Src  )  [inline]

Оператор копирования.

Производит выход из синхропространства, если в него был произведен вход (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().


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