Hi,
On Win32 version of rootcint (root 3.01/06 and probably also 3.02)
the rootcint.exe produces the following code for a templated class
NxMatrix<T>:
//__________________________________________________________________________
____
template <> TBuffer &operator>><short >(TBuffer &buf, NxMatrix<short> *&obj)
{
// Read a pointer to an object of class NxMatrix<short>.
obj = (NxMatrix<short> *) buf.ReadObject(NxMatrix<short>::Class());
return buf;
}
//__________________________________________________________________________
____
template <> TBuffer &operator>><unsigned short >(TBuffer &buf,
NxMatrix<unsigned short> *&obj)
{
// Read a pointer to an object of class NxMatrix<unsigned short>.
obj = (NxMatrix<unsigned short> *) buf.ReadObject(NxMatrix<unsigned
short>::Class());
return buf;
}
//__________________________________________________________________________
____
template <> TBuffer &operator>><int >(TBuffer &buf, NxMatrix<int> *&obj)
{
// Read a pointer to an object of class NxMatrix<int>.
obj = (NxMatrix<int> *) buf.ReadObject(NxMatrix<int>::Class());
return buf;
}
etc. etc.
We have to remove BY HAND the tokens "template <>" before each TBuffer&
operator>> and the substituted <T> after the >> to make the code valid for
MSVC++6.
I don't know if this happens only in the windows version but I suspect so!
Could you fix this soon, since the hand-editing step after each compile
becomes
very cumbersome when you have many template instantiations (as we do)?
Thanks
Peter
****************************************************************************
Peter Lipa, PhD e-mail: lipa@nsma.arizona.edu
Arizona Research Labs - Neural Systems, Memory and Aging
University of Arizona
Life Sciences North Bldg, Room 384; Phone: (520) 626-3101
Tucson, AZ 85724-515 Fax: (520) 626-2618
****************************************************************************
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:51:02 MET