It declares TFunction to be an alias of the type of a TApaApplicationFactory member function that takes no arguments and returns a pointer to CApaApplication.
EDIT:
Wait a minute... I recall that the * is after the class name, and checking with my compiler, it appears that the typedef example is invalid.
EDIT #2:
For a positive example of what I was talking about:
Code:
class X
{
public:
void foo() {}
};
typedef void (X::*F)();
int main()
{
F f = &X::foo;
X x;
(x.*f)();
}
Grr... I rarely work with member function pointers and had to take a few tries to get it right.