[ROOT] Instantiation of precompiled STL containers and typedefs

From: Walter F.J. Mueller (W.F.J.Mueller@gsi.de)
Date: Sat May 03 2003 - 22:31:24 MEST


Dear ROOTers, Philippe, Masaharu,		{ using 3.05/04 }

I followed Philippe suggestion given on roottalk on 06-Sep-2002 and
added something like

     #pragma link C++ class vector<Int_t>!-;

in a Linkdef file. As a result I was able to instantiate in CINT
the vectors

    vector<Int_t>
    vector<int,allocator<int> >

but not

    vector<int>

which results in the error message

    Limitation: Can't instantiate precompiled template vector<int>

If I use instead in the LinkDef file

    #pragma link C++ class vector<int>!-;

I can instantiate and use in CINT

    vector<Int_t>
    vector<int,allocator<int> >
    vector<int>

There seems to be some interference between typedefs and the way
STL container instantiations are handled.

	  Cheers,
		Walter


-- 
Walter F.J. Mueller   Mail:  W.F.J.Mueller@gsi.de
GSI,  Abteilung KP3   Phone: +49-6159-71-2766
D-64291 Darmstadt     FAX:   +49-6159-71-2989
WWW:   http://www-kp3.gsi.de/www/kp3/people/mueller.html



This archive was generated by hypermail 2b29 : Thu Jan 01 2004 - 17:50:11 MET