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