Hi Clark,
You still need to generate the dictionary via rootcint. However to disable the I/O, just set the class version to 0:
ClassDef(MyClass,0);
(ClassDef is required for classes inheriting from TObject).
For classes not inheriting from TObject, you can also use the syntax:
#pragma link C++ class NonTObject-;
(note the trailing minus sign).
Cheers,
Philippe.
-----Original Message-----
From: owner-roottalk_at_root.cern.ch [mailto:owner-roottalk_at_root.cern.ch] On
Behalf Of Clark McGrew
Sent: Thursday, January 24, 2008 12:19 PM
To: RootTalk mailing list
Subject: [ROOT] Multiple inheritance and I/O
Hello All,
I'm working with some classes that inherit from TObject, and inherit from several "mix-in" base classes. What is the proper way tell ROOT to ignore a base class (so it doesn't take part in I/O)? In fact, I've found that I get the right behavior by creating CINT definitions for the mix-in classes to exclude I/O. Looking at the ROOT source code, and verifying the output files shows that ROOT is correctly reading and writing the classes, but I get a warning from TClass::BuildRealData about the missing ShowMembers method (it is after all missing). Can the warning be disabled?
Thanks,
Clark
-- Clark McGrew <clark.mcgrew_at_sunysb.edu>Received on Thu Jan 24 2008 - 23:17:07 CET
This archive was generated by hypermail 2.2.0 : Fri Jan 25 2008 - 05:50:02 CET