00300 {
00301 static bool first = true;
00302 if ( first ) {
00303 first = false;
00304 for ( Type_Iterator i=Type::Type_Begin(); i != Type::Type_End(); ++i) {
00305 Type typ = *i;
00306 if ( !(typ.IsStruct() || typ.IsClass()) ) continue;
00307 TClass* cl = 0;
00308 if ( IsTypeOf(typ,"pool::Reference") ) {
00309 cl = gROOT->GetClass(typ.Name(SCOPED).c_str());
00310 if ( cl ) cl->AdoptStreamer(new PoolDbIOHandler<Reference>(typ,cl));
00311 }
00312 else if ( IsTypeOf(typ,"pool::Token") ) {
00313 cl = gROOT->GetClass(typ.Name(SCOPED).c_str());
00314 if ( cl ) cl->AdoptStreamer(new PoolDbIOHandler<Token>(typ,cl));
00315 }
00316 }
00317 ROOT::Cintex::Cintex::Enable();
00318 bool b2 = makeStreamer<SmartRefBase>(s);
00319 bool b3 = makeStreamer<ContainedObject>(s);
00320 return b2 && b3;
00321 }
00322 return true;
00323 }