[ROOT] adding a class which includes STL continued

From: Bart Lode Frank VAN DE VYVER (Bart.Vandevyver@cern.ch)
Date: Thu Sep 05 2002 - 12:22:46 MEST


> 1) STL containers of basic types
>    +++++++++++++++++++++++++++++

With the advice to replace the native type with the corresponding ROOT
type (only tested for unsigned resp. UInt_t), all seems to work fine:
writing in a C++ program to a ROOT file, reading and manipulating in
interactive ROOT, reading the ROOT file in a C++ program.

Pointers between objects
++++++++++++++++++++++++
If an object that is to be serialized contains a pointer to another
serialized object, writing and reading in interactive ROOT seems to
work. However, reading the ROOT file in a C++ program using the same
code as with interactive ROOT gives me a segfault in GetEntry(). Any
ideas ?

When using a TRef instead of a plain pointer, all seems to work fine:
C++ writing, C++ reading, and interactive reading.

STL containers of classes
+++++++++++++++++++++++++
Here, I'm still as stuck as before. C++ writing works unless the
template specialization is explicitly specified in LinkDef.h.
Manipulating in interactive ROOT works unless the same type of container
is referred to in the dynamic library. Reading a ROOT file where one of
the objects contains an STL container of a class type does work, but the
container is empty. Again, any ideas or suggestions ?

Thanks,
Bart



This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:51:07 MET