Serializing class with serializable members

From: Marc de Kamps <dekamps_at_comp.leeds.ac.uk>
Date: Wed, 28 Jan 2009 17:42:24 +0000


Hi,  

I have an issue with serialization of a class, again.  

I have a class A, a class B which has std::vector<A> as a private member and a class C which has class B as a private member, something like this:  

Class A {

public:  

            ClassDef(A,1)

            A();  

            SetA(int);

private:  

            int _bla;

};
 

Class B {

public:  

            ClassDef(B,1)  

            B();  

private:  

            std::vector<A> _vec_bla;

};
 

Class C {

public:

            ClassDef(C,1)  

            C();             

void DoSomething();  

private:  

B _blabla;

};
 

My linkdef.h contains statements, like:  

pragma link C++ class A+;

pragma link C++ class std::vector<A>+;

pragma link C++ class B+;

pragma link C++ class C+;  

In order to get the vector thing to work I know I have to include the vector dictionary

      gROOT->ProcessLine("#include <vector>");  

A and B serialize like a charm, but I can not serialize C objects. Any suggestions as regards the reason why?  

Thanks,

Marc

-

Dr. Marc de Kamps

Biosystems Group

School of Computing

University of Leeds

LS29JT, Leeds, UK  

 <mailto:dekamps_at_comp.leeds.ac.uk> dekamps_at_comp.leeds.ac.uk

http:/www.comp.leeds.ac.uk/dekamps   Received on Wed Jan 28 2009 - 18:42:29 CET

This archive was generated by hypermail 2.2.0 : Wed Jan 28 2009 - 23:50:01 CET