// Trying to duplicate g++ 2.96 template instantiation problems
// in simple toy code. Thence to figure out how to fix them.

#ifndef BAG_H
#define BAG_H

#include <iostream>
using namespace std;


template <class T>
class Bag	// stands for a container class, like a list, set, etc.
{
   private:
	T t1;
	T t2;

   friend ostream& operator<< <> (ostream& ,const Bag<T>& );
};


template <class T>
ostream& operator<< (ostream& o,const Bag<T>& b)
{
	o << b.t1 << "," << b.t2;
	return o;
}

#endif


