Шаблон класса Cntm::RefHandle< T, FinalizeP >
[Cntm.RefUtils]

Граф наследования:Cntm::RefHandle< T, FinalizeP >:

Cntm::SpecUtils::BasicRefHandle< T, SpecUtils::RefHandleRefImplementation >

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


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

template<typename T, void(T::*)() FinalizeP>
class Cntm::RefHandle< T, FinalizeP >

Механизм хэндлов предназначен для автоматизации вызова определенного метода объекта при уничтожении последнего хэндла, связанного с объектом.

Данный класс является шаблоном, первым параметром которого является тип объекта, а вторым - указатель на метод объекта, который следует вызвать. Метод должен иметь сигнатуру void(void), т.е. ничего не принимать и не возвращать.

Указанный в шаблоне метод может вызываться многократно. Это происходит, если после уничтожения всех хэндлов, связанных с объектом и вызова указанного метода, вновь будут созданы хэндлы, связанные с объектом.

Пример использования приведен в SynchroRefBase.

Класс обеспечивает многопоточность.

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

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


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

 RefHandle ()
 Конструктор по умолчанию.
 RefHandle (RefPtr< T > Object)
 Конструктор.
RefHandle< T,
FinalizeP > & 
operator= (RefPtr< T > Object)
 Связывает хэндл с новым объектом.
void Assign (RefPtr< T > Object)
 Связывает хэндл с новым объектом.
void Unassign ()
 Делает хэндл не связанным.

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

template<typename T, void(T::*)() FinalizeP>
Cntm::RefHandle< T, FinalizeP >::RefHandle (  )  [inline]

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

Создает хэндл, не связанный ни с каким объектом.

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

template<typename T, void(T::*)() FinalizeP>
Cntm::RefHandle< T, FinalizeP >::RefHandle ( RefPtr< T >  Object  )  [inline]

Конструктор.

Создает хэндл, связанный с указанным объектом.

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


Методы

template<typename T, void(T::*)() FinalizeP>
RefHandle< T, FinalizeP >& Cntm::RefHandle< T, FinalizeP >::operator= ( RefPtr< T >  Object  )  [inline]

Связывает хэндл с новым объектом.

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

Перекрестные ссылки Cntm::RefHandle< T, FinalizeP >::Assign().

template<typename T, void(T::*)() FinalizeP>
void Cntm::RefHandle< T, FinalizeP >::Assign ( RefPtr< T >  Object  )  [inline]

Связывает хэндл с новым объектом.

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

template<typename T, void(T::*)() FinalizeP>
void Cntm::RefHandle< T, FinalizeP >::Unassign (  )  [inline]

Делает хэндл не связанным.

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

Перекрестные ссылки Cntm::RefHandle< T, FinalizeP >::Assign().


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