#ifndef ROOT_TBranchProxyClassDescriptor
#define ROOT_TBranchProxyClassDescriptor
#ifndef ROOT_TList
#include "TList.h"
#endif
#ifndef ROOT_TNamed
#include "TNamed.h"
#endif
class TTree;
class TVirtualStreamerInfo;
namespace ROOT {
class TBranchProxyDescriptor;
class TBranchProxyClassDescriptor : public TNamed {
public:
enum ELocation { kOut=0, kClones, kSTL, kInsideClones, kInsideSTL };
private:
TList fListOfSubProxies;
TList fListOfBaseProxies;
ELocation fIsClones;
TString fContainerName;
Bool_t fIsLeafList;
UInt_t fSplitLevel;
TString fRawSymbol;
TString fBranchName;
TString fSubBranchPrefix;
TVirtualStreamerInfo *fInfo;
UInt_t fMaxDatamemberType;
void NameToSymbol();
TBranchProxyClassDescriptor(const TBranchProxyClassDescriptor &b) :TNamed(b){;}
TBranchProxyClassDescriptor& operator=(const TBranchProxyClassDescriptor&) {return *this;}
public:
TBranchProxyClassDescriptor(const char *type, TVirtualStreamerInfo *info, const char *branchname,
ELocation isclones, UInt_t splitlevel, const TString &containerName);
TBranchProxyClassDescriptor(const char *branchname);
TBranchProxyClassDescriptor(const char *type, TVirtualStreamerInfo *info, const char *branchname,
const char *branchPrefix, ELocation isclones,
UInt_t splitlevel, const TString &containerName);
const char* GetBranchName() const;
const char* GetSubBranchPrefix() const;
const char* GetRawSymbol() const;
TVirtualStreamerInfo *GetInfo() const { return fInfo; }
UInt_t GetSplitLevel() const;
virtual Bool_t IsEquivalent(const TBranchProxyClassDescriptor* other);
void AddDescriptor(TBranchProxyDescriptor *desc, Bool_t isBase);
Bool_t IsLoaded() const;
static Bool_t IsLoaded(const char*);
Bool_t IsClones() const;
Bool_t IsSTL() const;
ELocation GetIsClones() const;
TString GetContainerName() const;
void OutputDecl(FILE *hf, int offset, UInt_t );
ClassDef(TBranchProxyClassDescriptor,0);
};
}
#endif
Last change: Wed Jun 25 08:30:50 2008
Last generated: 2008-06-25 08:30
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.