diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.bob/template2.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.bob/template2.C | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.bob/template2.C b/gcc/testsuite/g++.old-deja/g++.bob/template2.C new file mode 100644 index 000000000..7da9deb29 --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.bob/template2.C @@ -0,0 +1,49 @@ +// { dg-do assemble } +// prms-id: 10046 +template <class T> +class Array +{ +public: + T const & operator[] (int i) const; +}; + +class Referenceable {}; + +template < class Referencee > +class Referencer +{ +public: + operator Referencee *() const { return i_referencee; } + +protected: + Referencee* i_referencee; +}; + +class ScenarioGroup {}; + +class ScenarioSpace; + +class ScenarioSet : public Referenceable, + public Array< Referencer<ScenarioGroup> > +{ +public: + ScenarioSet& operator=(ScenarioSet const & s); +}; + +class ScenarioSpace : public Referenceable, + public Array< Referencer<ScenarioSet> > +{ +}; + +class ScenarioSetNameSelector +{ +public: + bool operator () (ScenarioSpace &space) + { + int idx; + i_set = space[idx]; + return false; + } +private: + ScenarioSet *i_set; +}; |