Re: [ROOT] rootcint and gcc v3

From: Gora Mohanty (gora@solar2.ucr.edu)
Date: Mon Oct 28 2002 - 10:09:17 MET


Michael Kuss writes:
>> 
>> Yep. As has been discussed several times on the mailing list, CINT can
>> only instantiate certain template arguments to std::vector. As you have
>> found, the most glaring omission is the unsigned versions of built-in
>> types. I think it is a shame that rootcint cannot simply ignore these,
>> but it seems like problems with STL will be around for a while. It might
>> be better to use #ifndef __CINT__ guards, viz.,
>> #ifndef __CINT__
>> std::vector<UInt_t> m_trackIds;
>> #endif
>> 
>> Of course, this means that the 'm_trackIds' class member is not visible
>> in the interpreted version of the class, which might or might not matter
>> to you.
>
>well, matters.  However, if it is just an unsined faeture we should be
>able to work-around.  And sorry, must have missed this thread, also
>haven't found it in a brief search now.

Maybe someone can correct me if I am wrong, but I do not believe that it
is currently possible to have a std::vector<Uint_t> data member that is
visible in the interpreter. If you really want that, I believe that your
only choice currently is to use the ROOT collection classes rather than
STL vectors. Compiled code will, of course, work with either of these.

>What I don't understand, then why does it work with the v3.02.07 compiled
>with egcs?  Some implicit type conversion to signed?

Again, someone can correct me if I am wrong, but I do not think that it
actually worked, only that CINT silently ignored it.

Regards,
Gora



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:15 MET