]>
Commit | Line | Data |
---|---|---|
bd3239d2 MF |
1 | namespace x { |
2 | namespace Internal { | |
3 | template < class T > class RefCntPtr { | |
4 | public: | |
5 | T *operator->() const; | |
6 | T *get() const; | |
7 | }; | |
8 | template < class T > inline T * RefCntPtr < T >::get() const {} | |
9 | } | |
10 | ||
11 | class iter { | |
12 | public: | |
13 | class Internal; | |
14 | x::Internal::RefCntPtr < Internal > internal; | |
15 | }; | |
16 | bool operator == (const x::iter &a, const x::iter &b) { | |
17 | return a.internal.get() == b.internal.get(); | |
18 | } | |
19 | } | |
20 | ||
21 | bool equals(x::iter const *self, x::iter const &other) | |
22 | { | |
23 | return *self == other; | |
24 | } | |
25 | ||
26 | bool f() | |
27 | { | |
28 | x::iter * arg1, *arg2; | |
29 | bool result; | |
30 | try { | |
31 | result = equals((x::iter const *)arg1, (x::iter const &)*arg2); | |
32 | } catch (...) {} | |
33 | return result; | |
34 | } |