Hi Rene,
> I am sorry, but your question "Is this a bug or a feature"?
> is inappropriate. What you observe is the right behaviour
> and it must be so. Even if your class is empty, we have to write
> to the file at least the version number of the class.
I don't get the point... because there are two things I don't understand:
a) What I expect in both cases to be written to a file is:
- the contents of C (nothing else)
From this you calculate a checksum, because everything else doesn't
have any meaning for I/O. So in a first step I don't understand why I
get this warning at all...
b) A warning is a nice feature, but to suggest to increase the version
number from 0 to 1 is somehow nonsense, isn't it? 0 has a special
meaning (no I/O) so switching on the I/O cannot be a solution at all. So
I don't get the point. What does this warning mean? Is it a real
warning? Or is it no warning at all. Should I follow the suggestion
which I don't want?
This is somehow confusing isn't it?
Let me summurize: I would expect that the Checksum is only calculated
from the parts of the classes which are streamed to the file. And I
don't expect root to give 'strange' suggestions - which don't make
sense, do they?
Thomas.
>>Dear all,
>>
>>I had a construction like this:
>>
>>class A : public TObject { ClassDef(A, 0) }
>>class B : public A { ClassDef(B, 0) }
>>class C : public B { ClassDef(C, 1) }
>>
>>Now I have changed it to
>>class A : public TObject { ClassDef(A, 0) }
>>class B { ClassDef(B, 0) }
>>class C : public A, public B { ClassDef(C, 1) }
>>
>>In both cases I call A::Class()->IgnoreTObjectStreamer();
>>
>>When loading old files storing C I get told, that class B has changed -
>>which is correct but should not matter, because it was not stored
>>anyhow, but than I get asked to increase the version number from 0 to 1
>>- which seems to be nonsense.
>>
>>Is this a bug or a feature?
>>
>>Thanks,
>>Thomas.
>>
>
>
This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:05 MET