xref: /openbsd-src/gnu/usr.bin/gcc/gcc/testsuite/g++.old-deja/g++.bob/template3.C (revision c87b03e512fc05ed6e0222f6fb0ae86264b1d05b)
1 // Build don't link:
2 // prms-id: 9979
3 
4 template < class Referencee >
5 class Referencer
6 {
7 public:
Referencer()8     Referencer() {}
9 };
10 
11 template <class T>
12 class List
13 {
14 public:
List()15     List() {}
16 };
17 
18 template<class T, class KEY>
19 class Dictionary
20 {
21 public:
Dictionary()22     Dictionary() : i_buckets (new List<T>[1234]) {}
~Dictionary()23     ~Dictionary() { delete [] i_buckets; }
24 
25     List<T> *		i_buckets;
26 };
27 
28 class Exchangeable {};
29 class ExchangeableHandle {};
30 
31 class ExchangeableList
32     : public Dictionary<Referencer<Exchangeable>, ExchangeableHandle>
33 {
34 public:
35     ExchangeableList(int size=0);
36 };
37 
38 class ObjectExchange
39 {
40 public:
ObjectExchange()41     ObjectExchange() {};
42 
43     ExchangeableList	i_theWatchList; // Instruments being monitored
44 };
45 
46 int
main()47 main()
48 {
49 }
50