// ----------------------------------------------------------------------
//
// template.cc - Test for most basic template support.
//
// History:
//   08-Jul-1999  WEB  Initial draft, adapted from Blitz++
//   18-Jan-2001  WEB  Remove unused function argument's name
//   25-Apr-2001  WEB  s/<ISOcxxSyntax.hh>/"ISOcxx\/ISOcxxSyntax.hh"/
//
// ----------------------------------------------------------------------


#include "ISOcxx/ISOcxxSyntax.hh"


// ----------------------------------------------------------------------
// A near-trivial templatized class:
// ----------------------------------------------------------------------

template< class T >
class C  {

public:
  C() : myT( 0 )  { ; }

private:
  T  myT;

};  // C<>


// ----------------------------------------------------------------------
// A near-trivial templatized function:
// ----------------------------------------------------------------------

template< class T >
int  f( C<T> & )  { return  0; }


// ----------------------------------------------------------------------
// Try 'em out:
// ----------------------------------------------------------------------

int  main()  {

  C<int   >  i;
  C<double>  d;

  return  f( i ) + f( d );

}  // main()
