Объединяет в себе обобщенный ссылочный указатель на объект (GenericRefPtr) и указатель на метод.
Данный класс является шаблоном. В качестве параметра шаблона задается сигнатура метода без указания конкретного класса, например: GenericMethodRefPtr < void (int, double) > methPtr. Это позволяет присваивать указатели на методы любых классов, сигнатура которых совпадает с заданной в шаблоне (что обеспечивает жесткую проверку типов).
Вызов метода осуществляется с помощью свойств Object() и Method() следующим образом: (methPtr.Object()->*methPtr.Method()) (45, 234.78). Перед вызовом следует проверить указатель на NULL: if (methPtr) ...
В остальном поведение этого класса совпадает с поведением GenericRefPtr.
См. определение в файле GenericMethodRefPtr.h строка 38
Открытые типы | |
| typedef SignatureT | SignatureType |
| typedef SignatureInfo < SignatureT > | SignInfo |
| typedef SignInfo::template Method< Closure > ::Pointer | ClosureMethod |
Открытые члены | |
| GenericMethodRefPtr () | |
| Конструктор по умолчанию. | |
| template<typename ClassT> | |
| GenericMethodRefPtr (const RefPtr< ClassT > &ObjectPtr, typename SignInfo::template Method< ClassT >::Pointer Method) | |
| Конструктор инициализации из ссылочного указателя и указателя на метод. | |
| template<typename ClassT> | |
| GenericMethodRefPtr (ClassT *ObjectPtr, typename SignInfo::template Method< ClassT >::Pointer Method) | |
| Конструктор инициализации из обычного указателя и указателя на метод. | |
| GenericMethodRefPtr (const GenericMethodNoRefPtr< SignatureT > &Src) | |
| Конструктор копирования из не ссылочного указателя. | |
| GenericMethodRefPtr (const GenericMethodRefPtr< SignatureT > &Src) | |
| Конструктор копирования. | |
| GenericMethodRefPtr < SignatureT > & | operator= (const GenericMethodNoRefPtr< SignatureT > &Src) |
| Оператор присвоения из не ссылочного указателя. | |
| GenericMethodRefPtr < SignatureT > & | operator= (const GenericMethodRefPtr< SignatureT > &Src) |
| Оператор присвоения. | |
| operator bool () const | |
| Приведение к типу bool. | |
| bool | operator! () const |
| Оператор not. | |
| bool | operator== (const GenericMethodNoRefPtr< SignatureT > &Ptr) const |
| Оператор сравнения на равенство. | |
| bool | operator== (const GenericMethodRefPtr< SignatureT > &Ptr) const |
| Оператор сравнения на равенство. | |
| bool | operator!= (const GenericMethodNoRefPtr< SignatureT > &Ptr) const |
| Оператор сравнения на не равенство. | |
| bool | operator!= (const GenericMethodRefPtr< SignatureT > &Ptr) const |
| Оператор сравнения на не равенство. | |
| const GenericRefPtr & | GenericPtr () const |
| Возвращает обобщенный ссылочный указатель. | |
| Closure * | Object () const |
| Возвращает объект, приведенный к специальному классу Closure. | |
| ClosureMethod | Method () const |
| Возвращает указатель на метод специального класса Closure с указанной сигнатурой. | |
| template<typename ClassT> | |
| void | Set (const RefPtr< ClassT > &ObjectPtr, typename SignInfo::template Method< ClassT >::Pointer Method) |
| Установить новые значения из ссылочного указателя и указателя на метод. | |
| template<typename ClassT> | |
| void | Set (ClassT *ObjectPtr, typename SignInfo::template Method< ClassT >::Pointer Method) |
| Установить новые значения обычного указателя и указателя на метод. | |
| template<typename ClassT> | |
| void | Set (const ClassT &Object, typename SignInfo::template Method< ClassT >::Pointer Method) |
| Установить новые значения ссылки на объект и указателя на метод. | |
| void | SetNull () |
| Установить указатель в NULL. | |
Классы | |
| class | Closure |
| Специальный класс, используемый для вызова метода, на который указывает указатель. Подробнее... | |
| typedef SignatureT Cntm::GenericMethodRefPtr< SignatureT >::SignatureType |
См. определение в файле GenericMethodRefPtr.h строка 49
| typedef SignatureInfo< SignatureT > Cntm::GenericMethodRefPtr< SignatureT >::SignInfo |
См. определение в файле GenericMethodRefPtr.h строка 50
| typedef SignInfo::template Method< Closure >::Pointer Cntm::GenericMethodRefPtr< SignatureT >::ClosureMethod |
См. определение в файле GenericMethodRefPtr.h строка 51
| Cntm::GenericMethodRefPtr< SignatureT >::GenericMethodRefPtr | ( | ) | [inline] |
Конструктор по умолчанию.
Инициализирует указатель в NULL.
См. определение в файле GenericMethodRefPtr.h строка 56
| Cntm::GenericMethodRefPtr< SignatureT >::GenericMethodRefPtr | ( | const RefPtr< ClassT > & | ObjectPtr, | |
| typename SignInfo::template Method< ClassT >::Pointer | Method | |||
| ) | [inline] |
Конструктор инициализации из ссылочного указателя и указателя на метод.
См. определение в файле GenericMethodRefPtr.h строка 62
| Cntm::GenericMethodRefPtr< SignatureT >::GenericMethodRefPtr | ( | ClassT * | ObjectPtr, | |
| typename SignInfo::template Method< ClassT >::Pointer | Method | |||
| ) | [inline] |
Конструктор инициализации из обычного указателя и указателя на метод.
См. определение в файле GenericMethodRefPtr.h строка 69
| Cntm::GenericMethodRefPtr< SignatureT >::GenericMethodRefPtr | ( | const GenericMethodNoRefPtr< SignatureT > & | Src | ) | [inline] |
Конструктор копирования из не ссылочного указателя.
См. определение в файле GenericMethodRefPtr.h строка 75
| Cntm::GenericMethodRefPtr< SignatureT >::GenericMethodRefPtr | ( | const GenericMethodRefPtr< SignatureT > & | Src | ) | [inline] |
| GenericMethodRefPtr< SignatureT >& Cntm::GenericMethodRefPtr< SignatureT >::operator= | ( | const GenericMethodNoRefPtr< SignatureT > & | Src | ) | [inline] |
Оператор присвоения из не ссылочного указателя.
См. определение в файле GenericMethodRefPtr.h строка 87
Перекрестные ссылки Cntm::GenericMethodNoRefPtr< SignatureT >::GenericPtr() и Cntm::GenericMethodNoRefPtr< SignatureT >::Method().
| GenericMethodRefPtr< SignatureT >& Cntm::GenericMethodRefPtr< SignatureT >::operator= | ( | const GenericMethodRefPtr< SignatureT > & | Src | ) | [inline] |
Оператор присвоения.
См. определение в файле GenericMethodRefPtr.h строка 97
Перекрестные ссылки Cntm::GenericMethodRefPtr< SignatureT >::GenericPtr() и Cntm::GenericMethodRefPtr< SignatureT >::Method().
| Cntm::GenericMethodRefPtr< SignatureT >::operator bool | ( | ) | const [inline] |
Приведение к типу bool.
true - если указатель не равен NULL, иначе false.
См. определение в файле GenericMethodRefPtr.h строка 107
| bool Cntm::GenericMethodRefPtr< SignatureT >::operator! | ( | ) | const [inline] |
Оператор not.
Противоположен operator bool().
См. определение в файле GenericMethodRefPtr.h строка 115
| bool Cntm::GenericMethodRefPtr< SignatureT >::operator== | ( | const GenericMethodNoRefPtr< SignatureT > & | Ptr | ) | const [inline] |
Оператор сравнения на равенство.
См. определение в файле GenericMethodRefPtr.h строка 123
Перекрестные ссылки Cntm::GenericMethodNoRefPtr< SignatureT >::GenericPtr() и Cntm::GenericMethodNoRefPtr< SignatureT >::Method().
| bool Cntm::GenericMethodRefPtr< SignatureT >::operator== | ( | const GenericMethodRefPtr< SignatureT > & | Ptr | ) | const [inline] |
Оператор сравнения на равенство.
См. определение в файле GenericMethodRefPtr.h строка 131
Перекрестные ссылки Cntm::GenericMethodRefPtr< SignatureT >::GenericPtr() и Cntm::GenericMethodRefPtr< SignatureT >::Method().
| bool Cntm::GenericMethodRefPtr< SignatureT >::operator!= | ( | const GenericMethodNoRefPtr< SignatureT > & | Ptr | ) | const [inline] |
| bool Cntm::GenericMethodRefPtr< SignatureT >::operator!= | ( | const GenericMethodRefPtr< SignatureT > & | Ptr | ) | const [inline] |
| const GenericRefPtr& Cntm::GenericMethodRefPtr< SignatureT >::GenericPtr | ( | ) | const [inline] |
| Closure* Cntm::GenericMethodRefPtr< SignatureT >::Object | ( | ) | const [inline] |
Возвращает объект, приведенный к специальному классу Closure.
Используется для вызова метода.
См. определение в файле GenericMethodRefPtr.h строка 163
Перекрестные ссылки Cntm::BasicGenericRefPtr::Pointer().
| ClosureMethod Cntm::GenericMethodRefPtr< SignatureT >::Method | ( | ) | const [inline] |
Возвращает указатель на метод специального класса Closure с указанной сигнатурой.
Используется для вызова метода.
См. определение в файле GenericMethodRefPtr.h строка 171
| void Cntm::GenericMethodRefPtr< SignatureT >::Set | ( | const RefPtr< ClassT > & | ObjectPtr, | |
| typename SignInfo::template Method< ClassT >::Pointer | Method | |||
| ) | [inline] |
Установить новые значения из ссылочного указателя и указателя на метод.
См. определение в файле GenericMethodRefPtr.h строка 180
| void Cntm::GenericMethodRefPtr< SignatureT >::Set | ( | ClassT * | ObjectPtr, | |
| typename SignInfo::template Method< ClassT >::Pointer | Method | |||
| ) | [inline] |
Установить новые значения обычного указателя и указателя на метод.
См. определение в файле GenericMethodRefPtr.h строка 190
| void Cntm::GenericMethodRefPtr< SignatureT >::Set | ( | const ClassT & | Object, | |
| typename SignInfo::template Method< ClassT >::Pointer | Method | |||
| ) | [inline] |
Установить новые значения ссылки на объект и указателя на метод.
См. определение в файле GenericMethodRefPtr.h строка 200
| void Cntm::GenericMethodRefPtr< SignatureT >::SetNull | ( | ) | [inline] |
Установить указатель в NULL.
См. определение в файле GenericMethodRefPtr.h строка 209
Перекрестные ссылки Cntm::GenericRefPtr::SetNull().
|
|
© Овсеевич Р.В. Документация по CntmLib 1.1.4 от 28 May 2008. Создано системой
1.5.3
|