Отличием данного класса от RefHandle является то, что задается не метод, а функция, принимающая ссылочный указатель на класс в качестве параметра.
Данный класс является шаблоном, первым параметром которого является тип объекта, а вторым - указатель на функцию, которую следует вызвать. Функция должна иметь сигнатуру void(RefPtr<T>). При вызове данной функции гарантируется, что переданный указатель никогда не будет содержать NULL значения.
Указанный в шаблоне метод может вызываться многократно. Это происходит, если после уничтожения всех хэндлов, связанных с объектом и вызова указанного метода, вновь будут созданы хэндлы, связанные с объектом.
Пример использования приведен в SynchroRefBaseFn.
Класс обеспечивает многопоточность.
См. определение в файле RefHandleFn.h строка 38
Открытые члены | |
RefHandleFn () | |
Конструктор по умолчанию. | |
RefHandleFn (RefPtr< T > Object) | |
Конструктор. | |
RefHandleFn< T, FinalizeP > & | operator= (RefPtr< T > Object) |
Связывает хэндл с новым объектом. | |
void | Assign (RefPtr< T > Object) |
Связывает хэндл с новым объектом. | |
void | Unassign () |
Делает хэндл не связанным. |
Cntm::RefHandleFn< T, FinalizeP >::RefHandleFn | ( | ) | [inline] |
Конструктор по умолчанию.
Создает хэндл, не связанный ни с каким объектом.
См. определение в файле RefHandleFn.h строка 45
Cntm::RefHandleFn< T, FinalizeP >::RefHandleFn | ( | RefPtr< T > | Object | ) | [inline] |
Конструктор.
Создает хэндл, связанный с указанным объектом.
См. определение в файле RefHandleFn.h строка 51
RefHandleFn< T, FinalizeP >& Cntm::RefHandleFn< T, FinalizeP >::operator= | ( | RefPtr< T > | Object | ) | [inline] |
Связывает хэндл с новым объектом.
См. определение в файле RefHandleFn.h строка 57
Перекрестные ссылки Cntm::RefHandleFn< T, FinalizeP >::Assign().
void Cntm::RefHandleFn< T, FinalizeP >::Assign | ( | RefPtr< T > | Object | ) | [inline] |
void Cntm::RefHandleFn< T, FinalizeP >::Unassign | ( | ) | [inline] |
Делает хэндл не связанным.
См. определение в файле RefHandleFn.h строка 74
Перекрестные ссылки Cntm::RefHandleFn< T, FinalizeP >::Assign().
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой 1.5.3 |