[ROOT] bug in TStreamerSTL::TStreamerSTL and maps

From: Axel Naumann (axel@fnal.gov)
Date: Fri Apr 27 2001 - 22:31:53 MEST


Hi,

streaming a class with a member of the following
   std::map<TString, TDataObjList*, TStringGreater>
gives an error message by TStreamerSTL::TStreamerSTL:
   UNKNOW type, sopen=TString,TDataObjList

It's quite obvious that map needs two template params, but the parser in
TStreamerSTL::TStreamerSTL doesn't expect more than one template arg...
(btw: if there were three template args and the second were not a pointer
this would result in an
   UNKNOW type, sopen=TString,TDataObjList,TStringGreater
or take a std::map<TString*, TDataObjList, TStringGreater>, well...)

Could somebody fix this? (I'm willing to help, but I suppose you're much
faster and better in fixing that...)

Best regards, Axel.

PS: I know the std::less template arg does not need to be streamed, but
still it's sometimes given as one of the template args - which then has to
be skipped by the parser.

PPS: Sorry for that pile of stl problem reports...



This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:43 MET