1 // This file test stack parsing capabilities of KDbg.
2 // Parsing function names can be quite tricky ;)
9 cout
<< __PRETTY_FUNCTION__
<< endl
;
17 cout
<< __PRETTY_FUNCTION__
<< endl
;
21 cout
<< __PRETTY_FUNCTION__
<< endl
;
33 cout
<< __PRETTY_FUNCTION__
<< endl
;
36 void Banong() { g(); }
38 void g() { Banong(); }
40 void Aanong() { B::g(); }
42 void g() { Aanong(); }
44 void operator<<(int, S
)
46 cout
<< __PRETTY_FUNCTION__
<< endl
;
52 cout
<< __PRETTY_FUNCTION__
<< endl
;
56 void operator<<(struct S
&, int)
58 cout
<< __PRETTY_FUNCTION__
<< endl
;
61 template<typename T
, typename U
>
62 void operator<<(T
&, U
)
64 cout
<< __PRETTY_FUNCTION__
<< endl
;
67 void operator<(struct S
&, int)
69 cout
<< __PRETTY_FUNCTION__
<< endl
;
72 template<typename T
, typename U
>
75 cout
<< __PRETTY_FUNCTION__
<< endl
;
85 void indirect(T f
, const char* s
)
102 // the next lines test a templated function that accepts
103 // as one of its parameters a templated function pointer
104 void (*op1
)(S
&, S
*) = operator<<;
106 void (*op2
)(S
&, S
*) = operator<;
108 indirect(f
, "indirect");
110 // pointer to member function
111 void (S::*pm1
)(int) = &S::operator>>;
113 void (templS
<int>::*pm2
)(int) = &templS
<int>::operator>;