FSF GCC merge 02/23/03
[official-gcc.git] / gcc / testsuite / g++.old-deja / g++.bob / template2.C
blob5663da84be26aa505792188c87d0ab772d177bcf
1 // Build don't link:
2 // prms-id: 10046
3 template <class T>
4 class Array
6 public:
7     T const & operator[] (int i) const;
8 };
10 class Referenceable {};
12 template < class Referencee >
13 class Referencer
15 public:
16     operator Referencee *() const { return i_referencee; }
18 protected:
19     Referencee* i_referencee;
22 class ScenarioGroup {};
24 class ScenarioSpace;
26 class ScenarioSet : public Referenceable,
27                     public Array< Referencer<ScenarioGroup> >
29 public:
30     ScenarioSet& operator=(ScenarioSet const & s);
33 class ScenarioSpace : public Referenceable,
34                       public Array< Referencer<ScenarioSet> >
38 class ScenarioSetNameSelector
40 public:
41     bool operator () (ScenarioSpace &space)
42     {
43         int idx;
44         i_set = space[idx];
45         return false;
46     }
47 private:
48     ScenarioSet *i_set;