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