Класс Cntm::ReentrantSync

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

Cntm::BasicSync Cntm::UsingReentrantSync

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


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

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

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

Использование синхросекций повышает удобство (для входа/выхода требуется написать только 1 строку кода) и надежность (выход из синхропространства будет произведен в любом случае, в т.ч. и при исключении).

Объекты синхросекций содержат ссылочные указатели на синхрообъекты или на синхропространства (IBasicSynchro), в которые произведен вход. Если синхросекция не используется для входа, то указатель на синхропространство равен NULL.

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

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

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


Открытые члены

 ReentrantSync ()
 Конструктор по умолчанию.
 ReentrantSync (IBasicSynchro::Ptr Object)
 Конструктор инициализации IBasicSynchro.
template<typename T>
 ReentrantSync (RefPtr< T > Object)
 Конструктор инициализации IBasicSynchro.
 ReentrantSync (const BasicSync &Src)
 Конструктор копирования.
 ReentrantSync (const ReentrantSync &Src)
 Конструктор копирования.
 ~ReentrantSync ()
 Деструктор.
ReentrantSyncoperator= (IBasicSynchro::Ptr Object)
 Оператор присвоения IBasicSynchro.
template<typename T>
ReentrantSyncoperator= (RefPtr< T > Object)
 Оператор присвоения IBasicSynchro.
ReentrantSyncoperator= (const BasicSync &Src)
 Оператор копирования.
ReentrantSyncoperator= (const ReentrantSync &Src)
 Оператор копирования.
void Set (IBasicSynchro::Ptr Object)
 Установить новое значение Object().
void Leave ()
 Выйти из синхропространства.

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

Cntm::ReentrantSync::ReentrantSync (  )  [inline]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cntm::ReentrantSync::ReentrantSync ( const BasicSync Src  )  [inline]

Конструктор копирования.

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

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

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

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

Cntm::ReentrantSync::ReentrantSync ( const ReentrantSync Src  )  [inline]

Конструктор копирования.

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

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

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

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

Cntm::ReentrantSync::~ReentrantSync (  )  [inline]

Деструктор.

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

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

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


Методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

void Cntm::ReentrantSync::Set ( IBasicSynchro::Ptr  Object  )  [inline]

Установить новое значение Object().

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

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

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

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

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

void Cntm::ReentrantSync::Leave (  )  [inline]

Выйти из синхропространства.

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

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

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


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