Hi,
I've looked around in the bug list, but couldn't find any hint on this. As
far as I know cint now supports std::map<,> streamer generation. But it
doesn't work for me:
---
class TMapTest: public TObject{
std::map<TString, TString> _mapStrStr;
ClassDef(TMapTest,1)
};
---
added to linkdef.h with "TMapTest+", generates the following streamer:
---
void R__TMapTest__mapStrStr(TBuffer &R__b, void *p, int)
{
map<TString,TString> &_mapStrStr = *(map<TString,TString> *)p;
if (R__b.IsReading()) {
{
_mapStrStr.clear();
int R__i, R__n;
R__b >> R__n;
for (R__i = 0; R__i < R__n; R__i++) {
TString R__t;
R__t.Streamer(R__b);
_mapStrStr.insert(make_pair(R__t,R__t2));
}
}
} else {
{
R__b << _mapStrStr.size();
map<TString,TString>::iterator R__k;
for (R__k = _mapStrStr.begin(); R__k != _mapStrStr.end(); ++R__k) {
(*R__k).Streamer(R__b);
}
}
}
}
---
Obviously there's two errors, one in the IsReading block (R__t2 is never
declared or streamed), one in the !IsReading block (can't stream a
std::pair). Does anybody have any hints?
Regards, Axel.
PS: When will Masa be back?
This archive was generated by hypermail 2b29 : Tue Jan 01 2002 - 17:50:43 MET