Объединяет в себе обобщенный ссылочный указатель на объект (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 |