It sounds we can not compile any STAR TTable derived class with the new ROOT.
"as is".
Does this suggest we have to change our existent TTable classes definitions ?
I understand the coming ROOT offers a new way to generate the class Dictionary.
but does this means the old approach will not work anymore.
I would vote for ROOT v. 4 as Christian suggested.
Valeri
> Hi Christian,
>
> The new version of ClassDef should be backward compatible.
> If you (or somebody else) have an evidence that this is not the case, please let
> us know asap.
>
> The version now in CVS includes several enhancements (mainly by Philippe)
> The new ClassDef/ClassImp have been simplified , in particular
> when using templates and namespaces.
>
> The main new development is the automatic support for classes
> not instrumented with ROOT ClassDef, TObject, nested classes, etc.
>
> We will give more information on these new developments soon.
>
> It is not our intention to increase the version number to 4 at this point.
>
> Rene Brun
>
> Christian Holm Christensen wrote:
> >
> > Hi all,
> >
> > I did a check out of ROOT today, and it seems that there's quite a lot
> > of changes in the definition of ClassDef and the like. Also, there's
> > some namespace stuff in the generated dictionary and so. Anyway, the
> > effect of all this, which I don't know if it's intentional or not, is
> > that now you can use nested classes directly. That is, like for
> > example:
> >
> > class Mother : public TObject {
> > private:
> > TClonesArray* fChildren;
> > public:
> > class Child : public TObject {
> > private:
> > Int_t fNumber;
> > public:
> > Child(Int_t n) : fNumber(n) {}
> > Int_t GetNumber() const { return fNumber; }
> > ClassDef(Child, 1);
> > };
> >
> > Mother() : fChildren("Mother::Child") {}
> > void AddChild() {
> > Int_t n = fChildren.GetEntries();
> > new(fChildren[n]) Child(n);
> > }
> > Child* GetChild(Int_t n) {
> > if (n > fChildren.GetEntries() || n < 0) return 0;
> > (Child*)return fChildren[n];
> > }
> > ClassDef(Foo,0) //
> > };
> >
> > Previously you had to redefine ClassDef so that CINT wouldn't choke on
> > some friend declarations and so on.
> >
> > So my point is: Is this the intention of these changes or is it a
> > fortunate side effect? Does the changes in ClassDef in anyway cause
> > compatiblity problems? If so, I think ROOT should bump to version 4.
> >
> > Yours,
> >
> > ____ | Christian Holm Christensen
> > |_| | -------------------------------------------------------------
> > | | Address: Sankt Hansgade 23, 1. th. Phone: (+45) 35 35 96 91
> > _| DK-2200 Copenhagen N Cell: (+45) 24 61 85 91
> > _| Denmark Office: (+45) 353 25 305
> > ____| Email: cholm@nbi.dk Web: www.nbi.dk/~cholm
> > | |
>
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:53 MET