12 #ifndef ROOT_TBranchProxyClassDescriptor
13 #define ROOT_TBranchProxyClassDescriptor
19 class TVirtualStreamerInfo;
24 class TBranchProxyDescriptor;
26 class TBranchProxyClassDescriptor :
public TNamed {
29 enum ELocation { kOut=0, kClones, kSTL, kInsideClones, kInsideSTL };
31 TList fListOfSubProxies;
32 TList fListOfBaseProxies;
34 TString fContainerName;
40 TString fSubBranchPrefix;
41 TVirtualStreamerInfo *fInfo;
43 UInt_t fMaxDatamemberType;
47 TBranchProxyClassDescriptor(
const TBranchProxyClassDescriptor &b) :TNamed(b){;}
48 TBranchProxyClassDescriptor& operator=(
const TBranchProxyClassDescriptor&) {
return *
this;}
52 TBranchProxyClassDescriptor(
const char *type, TVirtualStreamerInfo *info,
const char *branchname,
53 ELocation isclones, UInt_t splitlevel,
const TString &containerName);
54 TBranchProxyClassDescriptor(
const char *branchname);
56 TBranchProxyClassDescriptor(
const char *type, TVirtualStreamerInfo *info,
const char *branchname,
57 const char *branchPrefix, ELocation isclones,
58 UInt_t splitlevel,
const TString &containerName);
60 const char* GetBranchName()
const;
61 const char* GetSubBranchPrefix()
const;
63 const char* GetRawSymbol()
const;
65 TVirtualStreamerInfo *GetInfo()
const {
return fInfo; }
67 UInt_t GetSplitLevel()
const;
69 virtual Bool_t IsEquivalent(
const TBranchProxyClassDescriptor* other);
71 void AddDescriptor(TBranchProxyDescriptor *desc, Bool_t isBase);
72 Bool_t IsLoaded()
const;
73 static Bool_t IsLoaded(
const char*);
74 Bool_t IsClones()
const;
76 ELocation GetIsClones()
const;
77 TString GetContainerName()
const;
79 void OutputDecl(FILE *hf,
int offset, UInt_t );
81 ClassDef(TBranchProxyClassDescriptor,0);