Hi Thomas,
With the current PRO version 2.25/03, you have to do:
class A : public TObject
{
B *b; // i this the right way
}
class B : public TObject
{
Int_t n; //length of the array bytes
Byte_t *bytes; //[n] an array with a variable number of entries
}
I am currently working on an important improvement in the Root I/O system.
I will post more info in the very near future. With this new version,
the split and no-split mode will be symmetric and will use the same code.
You should be able to have a TArrayX *array as a class member and also
STL containers.
For the time being use the above work around.
Rene Brun
Thomas Bretz wrote:
>
> Hello,
>
> in the documetation you wrote:
> In split mode, a data member cannot be a pointer to an array of basic
> types. A variable size array must be encapsulated inside another object
> derived by TObject.
>
> What does this mean?
>
> Eg, if I have:
> -------------------------------
> class A : public TObject
> {
> B *b; // i this the right way
> B c; // or this?
> }
>
> class B : public TObject
> {
> Byte_t *bytes; // an array which contains a variable number of
> entries at runtime
> }
> -------------------------------
>
> Can I write class B now in a branch with splitleven=1? Does this mean,
> that the only problem to write a TArrayC with splitlevel=1 is that it
> isn't derived from TObject?
>
> Thanks,
> Thomas.
This archive was generated by hypermail 2b29 : Tue Jan 02 2001 - 11:50:37 MET