/usr/include/root/TGenericClassInfo.h is in libroot-core-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 | // @(#)root/base:$Id$
// Author: Philippe Canal 23/2/02
/*************************************************************************
* Copyright (C) 1995-2002, Rene Brun, Fons Rademakers and al. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TGenericClassInfo
#define ROOT_TGenericClassInfo
#include <vector>
//#ifndef ROOT_TSchemaHelper
#include "TSchemaHelper.h"
//#endif
//#ifndef ROOT_Rtypes
//#inlcude "Rtypes.h"
//#endif
// Forward declarations
class TVirtualIsAProxy;
//class TClass;
//class TClassStreamer;
//class TVirtualCollectionProxy;
//class TCollectionProxyInfo;
namespace ROOT {
class TCollectionProxyInfo;
class TGenericClassInfo {
// This class in not inlined because it is used is non time critical
// section (the dictionaries) and inline would lead to too much
// repetition of the code (once per class!).
const TInitBehavior *fAction;
TClass *fClass;
const char *fClassName;
const char *fDeclFileName;
Int_t fDeclFileLine;
VoidFuncPtr_t fDictionary;
const type_info &fInfo;
const char *fImplFileName;
Int_t fImplFileLine;
TVirtualIsAProxy *fIsA;
ShowMembersFunc_t fShowMembers;
Int_t fVersion;
MergeFunc_t fMerge;
ResetAfterMergeFunc_t fResetAfterMerge;
NewFunc_t fNew;
NewArrFunc_t fNewArray;
DelFunc_t fDelete;
DelArrFunc_t fDeleteArray;
DesFunc_t fDestructor;
DirAutoAdd_t fDirAutoAdd;
TClassStreamer *fStreamer;
ClassStreamerFunc_t fStreamerFunc;
TVirtualCollectionProxy *fCollectionProxy;
Int_t fSizeof;
TCollectionProxyInfo *fCollectionProxyInfo;
TCollectionProxyInfo *fCollectionStreamerInfo;
std::vector<ROOT::TSchemaHelper> fReadRules;
std::vector<ROOT::TSchemaHelper> fReadRawRules;
public:
TGenericClassInfo(const char *fullClassname,
const char *declFileName, Int_t declFileLine,
const type_info &info, const TInitBehavior *action,
ShowMembersFunc_t showmembers, VoidFuncPtr_t dictionary,
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof);
TGenericClassInfo(const char *fullClassname, Int_t version,
const char *declFileName, Int_t declFileLine,
const type_info &info, const TInitBehavior *action,
ShowMembersFunc_t showmembers, VoidFuncPtr_t dictionary,
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof);
TGenericClassInfo(const char *fullClassname, Int_t version,
const char *declFileName, Int_t declFileLine,
const type_info &info, const TInitBehavior *action,
VoidFuncPtr_t dictionary,
TVirtualIsAProxy *isa, Int_t pragmabits, Int_t sizof);
TGenericClassInfo(const char *fullClassname, Int_t version,
const char *declFileName, Int_t declFileLine,
const TInitBehavior *action,
VoidFuncPtr_t dictionary, Int_t pragmabits);
void Init(Int_t pragmabits);
~TGenericClassInfo();
const TInitBehavior &GetAction() const;
TClass *GetClass();
const char *GetClassName() const;
TCollectionProxyInfo *GetCollectionProxyInfo() const;
TCollectionProxyInfo *GetCollectionStreamerInfo() const;
const char *GetDeclFileName() const;
Int_t GetDeclFileLine() const;
DelFunc_t GetDelete() const;
DelArrFunc_t GetDeleteArray() const;
DesFunc_t GetDestructor() const;
DirAutoAdd_t GetDirectoryAutoAdd() const;
const char *GetImplFileName();
Int_t GetImplFileLine();
const type_info &GetInfo() const;
TVirtualIsAProxy *GetIsA() const;
NewFunc_t GetNew() const;
NewArrFunc_t GetNewArray() const;
const std::vector<ROOT::TSchemaHelper> &GetReadRawRules() const;
const std::vector<ROOT::TSchemaHelper> &GetReadRules() const;
ShowMembersFunc_t GetShowMembers() const;
Int_t GetVersion() const;
TClass *IsA(const void *obj);
Short_t AdoptStreamer(TClassStreamer*);
Short_t AdoptCollectionProxy(TVirtualCollectionProxy*);
void AdoptCollectionProxyInfo(TCollectionProxyInfo*);
void AdoptCollectionStreamerInfo(TCollectionProxyInfo*);
Int_t SetDeclFile(const char *file, Int_t line);
void SetDelete(DelFunc_t deleteFunc);
void SetDeleteArray(DelArrFunc_t deleteArrayFunc);
void SetDestructor(DesFunc_t destructorFunc);
void SetDirectoryAutoAdd(DirAutoAdd_t dirAutoAdd);
void SetFromTemplate();
Int_t SetImplFile(const char *file, Int_t line);
void SetMerge(MergeFunc_t);
void SetResetAfterMerge(ResetAfterMergeFunc_t);
void SetNew(NewFunc_t newFunc);
void SetNewArray(NewArrFunc_t newArrayFunc);
void SetReadRawRules( const std::vector<ROOT::TSchemaHelper>& rules );
void SetReadRules( const std::vector<ROOT::TSchemaHelper>& rules );
Short_t SetStreamer(ClassStreamerFunc_t);
void SetStreamerFunc(ClassStreamerFunc_t);
Short_t SetVersion(Short_t version);
// protected:
private:
void CreateRuleSet( std::vector<ROOT::TSchemaHelper>& vect, Bool_t ProcessReadRules );
TGenericClassInfo(const TGenericClassInfo&); // Not implemented
TGenericClassInfo& operator=(const TGenericClassInfo&); // Not implemented
private:
TGenericClassInfo();
};
}
#endif
|