blob: d0534f06de8b6557925ef2c2bad5c4f9c0d6ca8b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
// { dg-do assemble }
// Origin: Loring Holden <lsh@cs.brown.edu>
template <class T>
class REFptr {
public:
REFptr();
REFptr(T *pObj);
virtual ~REFptr();
operator T* () const;
};
class GEL;
class GELsubc {
public :
virtual GEL *GELcast() const;
};
class GELptr : public REFptr<GEL>{
public :
GELptr(const GELptr &p);
GELptr(const GELsubc &p);
};
class GEL { };
class GEOM;
class GEOMptr : public REFptr<GEOM>, public GELsubc {
public:
GEOMptr() { }
GEOMptr(GEOM *g);
};
class GEOM : public GEL {
public:
GEOM(const GEOMptr &o);
GEOM();
};
class TEXT2D;
class TEXT2Dptr : public REFptr<TEXT2D> {
public:
TEXT2Dptr();
TEXT2Dptr(TEXT2D *g);
};
class TEXT2D : public GEOM { };
void testit(const GELptr g);
void
FPS()
{
TEXT2Dptr fps_text;
testit(GEOMptr(&*fps_text));
}
|