Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / gcc / testsuite / g++.old-deja / g++.bob / template2.C
blob7da9deb2901c9c6ff1f9fdc2725d40b691636686
1 // { dg-do assemble  }
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;