60#define INSTANTIATE_READVAL(CLASS) \ 
   61   template Double_t CLASS::ReadValueImpl<Double_t>(char*, Int_t);  \ 
   62   template Long64_t CLASS::ReadValueImpl<Long64_t>(char*, Int_t);  \ 
   63   template LongDouble_t CLASS::ReadValueImpl<LongDouble_t>(char*, Int_t)   
   66#define INSTANTIATE_GETVAL(CLASS) \ 
   67   template Double_t CLASS::GetValueImpl<Double_t>(TLeaf*, Int_t); \ 
   68   template Long64_t CLASS::GetValueImpl<Long64_t>(TLeaf*, Int_t); \ 
   69   template LongDouble_t CLASS::GetValueImpl<LongDouble_t>(TLeaf*, Int_t)   
   76     fClass(classptr),fOffset(offset),fElement(element),
 
   77     fCounter(0), fNext(0),fMultiplicity(0)
 
   88TFormLeafInfo::TFormLeafInfo(
const TFormLeafInfo& orig) : 
TObject(orig),fClass(orig.fClass),fOffset(orig.fOffset),fElement(orig.fElement),fCounter(0),fNext(0),fClassName(orig.fClassName),fElementName(orig.fElementName),fMultiplicity(orig.fMultiplicity)
 
  201      offset = info->TStreamerInfo::GetElementOffset(
id);
 
  227            Error(
"GetValuePointer", 
"Type (%d) not yet supported\n", 
type);
 
  245            thisobj = address + offset + (index * 
fClass->
Size());
 
  258            thisobj = address + offset;
 
  295            thisobj = address + offset;
 
  300            thisobj = *((
char**) (address + offset));
 
  527      char * work = 
new char[nchname+2];
 
  528      for (i=0, current = &(work[0]), 
fOffset=0; i<nchname+1;i++ ) {
 
  559               current = &(work[0]);
 
  607      thisobj = (
char*)((
TLeafObject*)leaf)->GetObject();
 
  611   if (!thisobj) 
return 0;
 
  643   if (
fElement==0 || thisobj==0) 
return thisobj;
 
  698#define GET_ARRAY(TYPE_t)                                         \ 
  700            Int_t len, sub_instance, index;                       \ 
  701            if (fNext) len = fNext->GetArrayLength();             \ 
  704               index = instance / len;                            \ 
  705               sub_instance = instance % len;                     \ 
  710            TYPE_t **val     = (TYPE_t**)(thisobj+fOffset);       \ 
  711            return &((val[sub_instance])[index]);                 \ 
  732         {
char **stringp = (
char**)(thisobj+
fOffset); 
return *stringp;}
 
  795      thisobj = (
char*)((
TLeafObject*)leaf)->GetObject();
 
  799   if (thisobj==0) 
return 0;
 
  800   return ReadTypedValue<T>(thisobj,
instance);
 
  813      Error(
"ReadValue",
"Invalid data address: result will be wrong");
 
  817      char *nextobj = thisobj+
fOffset;
 
  886#if defined(_MSC_VER) && (_MSC_VER <= 1200) 
  894#define READ_ARRAY(TYPE_t)                               \ 
  896            Int_t len, sub_instance, index;              \ 
  897            len = GetArrayLength();                      \ 
  899               index = instance / len;                   \ 
  900               sub_instance = instance % len;            \ 
  905            TYPE_t **val =(TYPE_t**)(thisobj+fOffset);   \ 
  906            return T((val[sub_instance])[index]); \ 
  924#if defined(_MSC_VER) && (_MSC_VER <= 1200) 
  945                 from->GetInfo()->GetElement(from->GetID()))
 
  962   Error(
"ReadValue",
"Should not be used in a TFormLeafInfoDirect");
 
 1006   fKind(kind), fIsBool(
kFALSE)
 
 1037   fKind(orig.fKind), fIsBool(
kFALSE)
 
 1105      return &gFakeClonesElem;
 
 1127   TFormLeafInfo(classptr,offset,R__GetFakeClonesElem()),fTop(top)
 
 1200template <
typename T>
 
 1203   if (
fNext==0) 
return 0;
 
 1204   Int_t len,index,sub_instance;
 
 1214   if (!clones) 
return 0;
 
 1254template <
typename T>
 
 1257   if (
fNext==0) 
return 0;
 
 1258   Int_t len,index,sub_instance;
 
 1264   } 
else if (primary>=0) {
 
 1272   if (clones==0) 
return 0;
 
 1286   if (
fNext && clones) {
 
 1288      Int_t len,index,sub_instance;
 
 1311      Int_t len,index,sub_instance;
 
 1414template <
typename T>
 
 1419   if (
fNext==0) 
return 0;
 
 1468   } 
else if (classptr) {
 
 1500   fLocalElement( fElement )
 
 1502   if (elementclassptr) {
 
 1504   } 
else if (motherclassptr) {
 
 1534   fCollClass( orig.fCollClass ),
 
 1535   fCollClassName( orig.fCollClassName ),
 
 1536   fCollProxy( orig.fCollProxy ? orig.fCollProxy->Generate() : 0 ),
 
 1619   if (ptr==0) 
return 0;
 
 1631   if (where==0) 
return 0;
 
 1647   if (ptr==0) 
return 0;
 
 1656template <
typename T>
 
 1657T TFormLeafInfoCollection::ReadValueImpl(
char *where, 
Int_t instance)
 
 1659   if (
fNext==0) 
return 0;
 
 1660   UInt_t len,index,sub_instance;
 
 1666   } 
else if (primary>=0) {
 
 1719template <
typename T>
 
 1722   if (
fNext==0) 
return 0;
 
 1723   Int_t len,index,sub_instance;
 
 1729   } 
else if (primary>=0) {
 
 1744   if (obj==0) 
return 0;
 
 1746   if (obj==0) 
return 0;
 
 1761      Int_t len,index,sub_instance;
 
 1790   void *collection = where;
 
 1794      Int_t len,index,sub_instance;
 
 1835   TFormLeafInfo(classptr,offset,element), fCollClass(element->GetClassPointer()), fCollProxy(0)
 
 1859      fCollClass(orig.fCollClass),
 
 1860      fCollClassName(orig.fCollClassName),
 
 1861      fCollProxy(orig.fCollProxy?orig.fCollProxy->Generate():0)
 
 1927   Error(
"GetValuePointer",
"This should never be called");
 
 1936   Error(
"GetValuePointer",
"This should never be called");
 
 1945   Error(
"GetLocalValuePointer",
"This should never be called");
 
 1954   Error(
"GetLocalValuePointer",
"This should never be called");
 
 1964   if (where==0) 
return 0;
 
 1996template <
typename T>
 
 1997T  TFormLeafInfoPointer::ReadValueImpl(
char *where, 
Int_t instance)
 
 1999   if (!
fNext) 
return 0;
 
 2000   char * whereoffset = where+
fOffset;
 
 2027            Int_t len, index, sub_instance;
 
 2064template <
typename T>
 
 2067   if (!
fNext) 
return 0;
 
 2069   if (where==0) 
return 0;
 
 2087   fResult(0), fCopyFormat(),fDeleteFormat(),fValuePointer(0),fIsByValue(
kFALSE)
 
 2096         if (rtype[strlen(rtype)-1]!=
'*' &&
 
 2097             rtype[strlen(rtype)-1]!=
'&' &&
 
 2192   std::string return_type;
 
 2208   return_type = 
gInterpreter->TypeName(return_type.c_str());
 
 2210   if (return_type == 
"void")
 
 2279   void *thisobj = from;
 
 2280   if (!thisobj) 
return 0;
 
 2302      char *returntext = 0;
 
 2308      char * char_result = 0;
 
 2330template <
typename T>
 
 2333   void *thisobj = where;
 
 2334   if (!thisobj) 
return 0;
 
 2350      char *returntext = 0;
 
 2352      result = 
T((
Long_t) returntext);
 
 2355      char * char_result = 0;
 
 2382   TFormLeafInfo(classptr,offset,element),fNsize(0),fCounter2(0),fSumOfSizes(0),
 
 2383   fDim(0),fVirtDim(-1),fPrimaryIndex(-1),fSecondaryIndex(-1)
 
 2388      Int_t counterOffset = 0;
 
 2390      if (!parent) 
return;
 
 2393      while(*next != 0) next = &( (*next)->fNext);
 
 2396   } 
else Error(
"Constructor",
"Called without a proper TStreamerElement");
 
 2404   fDim(0),fVirtDim(-1),fPrimaryIndex(-1),fSecondaryIndex(-1)
 
 2559   Error(
"GetValue",
"This should never be called");
 
 2604      if (global==0 || local<global) global = local;
 
 2605      garr->
AddAt(global,i);
 
 2626template <
typename T>
 
 2639   Error(
"ReadValue",
"This should never be called");
 
 2673   while(*next != 0) next = &( (*next)->fNext);
 
 2691   while(*next != 0) next = &( (*next)->fNext);
 
 2709   Error(
"GetValue",
"This should never be called");
 
 2736template <
typename T>
 
 2737T TFormLeafInfoMultiVarDimCollection::ReadValueImpl(
char *where, 
Int_t instance)
 
 2783   while(*next != 0) next = &( (*next)->fNext);
 
 2801   while(*next != 0) next = &( (*next)->fNext);
 
 2819   Error(
"GetValue",
"This should never be called");
 
 2849template <
typename T>
 
 2850T TFormLeafInfoMultiVarDimClones::ReadValueImpl(
char *where, 
Int_t instance)
 
 2943template <
typename T>
 
 2946   if (!
fNext) 
return 0;
 
 3022template <
typename T>
 
 3031template <
typename T>
 
 3032T TFormLeafInfoTTree::ReadValueImpl(
char *thisobj, 
Int_t instance)
 
unsigned long long ULong64_t
 
char * Form(const char *fmt,...)
 
#define R__WRITE_LOCKGUARD(mutex)
 
Array of integers (32 bits per element).
 
void Set(Int_t n)
Set size of this array to n ints.
 
void AddAt(Int_t c, Int_t i)
Add Int_t c at position i. Check for out of bounds.
 
void Copy(TArrayI &array) const
 
A Branch for the case of an object.
 
TBranchElement * GetBranchCount() const
 
TStreamerInfo * GetInfo() const
Get streamer info for the branch class.
 
virtual char * GetAddress() const
Get the branch address.
 
TBranchElement * GetBranchCount2() const
 
char * GetObject() const
Return a pointer to our object.
 
A TTree is a list of TBranches.
 
TObjArray * GetListOfLeaves()
 
TClass instances represent classes, structs and namespaces in the ROOT type system.
 
TVirtualStreamerInfo * GetStreamerInfo(Int_t version=0) const
returns a pointer to the TVirtualStreamerInfo object for version If the object does not exist,...
 
Int_t Size() const
Return size of object of this class.
 
Bool_t IsLoaded() const
Return true if the shared library of this class is currently in the a process's memory.
 
Bool_t IsTObject() const
Return kTRUE is the class inherits from TObject.
 
TVirtualCollectionProxy * GetCollectionProxy() const
Return the proxy describing the collection (if any).
 
static TClass * GetClass(const char *name, Bool_t load=kTRUE, Bool_t silent=kFALSE)
Static method returning pointer to TClass of the specified class name.
 
An array of clone (identical) objects.
 
Long_t Property() const
Get property description word. For meaning of bits see EProperty.
 
const char * GetReturnTypeName() const
Get full type description of function return type, e,g.: "class TDirectory*".
 
A TLeaf for the general case when using the branches created via a TStreamerInfo (i....
 
A TLeaf for a general object derived from TObject.
 
A TLeaf describes individual elements of a TBranch See TBranch structure in TTree.
 
virtual void * GetValuePointer() const
 
T GetTypedValue(Int_t i=0) const
 
TBranch * GetBranch() const
 
Method or function calling interface.
 
EReturnType ReturnType()
Returns the return type of the method.
 
static const EReturnType kLong
 
const char * GetMethodName() const
 
static const EReturnType kString
 
static const EReturnType kOther
 
const char * GetParams() const
 
TFunction * GetMethod()
Returns the TMethod describing the method to be executed.
 
void Init(const TFunction *func)
Initialize the method invocation environment based on the TFunction object.
 
void Execute(const char *, const char *, int *=0)
Execute method on this object with the given parameter string, e.g.
 
static const EReturnType kDouble
 
virtual const char * GetName() const
Returns name of object.
 
Int_t GetEntries() const
Return the number of objects in array (i.e.
 
TObject * UncheckedAt(Int_t i) const
 
TObject * At(Int_t idx) const
 
Mother of all ROOT objects.
 
virtual Bool_t InheritsFrom(const char *classname) const
Returns kTRUE if object inherits from class "classname".
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
const char * GetCountName() const
 
virtual TClass * GetClassPointer() const
Returns a pointer to the TClass of this element.
 
Int_t GetArrayLength() const
 
TClass * GetClass() const
 
Describe Streamer information for one class version.
 
@ kUChar
Equal to TDataType's kchar.
 
Int_t GetNewType(Int_t id) const
 
const char * Data() const
 
TString & Append(const char *cs)
 
A TTree represents a columnar dataset.
 
virtual TTree * GetFriend(const char *) const
Return a pointer to the TTree friend whose name or alias is 'friendname.
 
Int_t GetMakeClass() const
 
virtual EDataType GetType() const =0
 
virtual void * At(UInt_t idx)=0
 
virtual UInt_t Size() const =0
 
virtual TVirtualCollectionProxy * Generate() const =0
 
virtual Bool_t HasPointers() const =0
 
virtual TClass * GetCollectionClass() const
 
std::string GetName(const std::string &scope_name)
 
void swap(RDirectoryEntry &e1, RDirectoryEntry &e2) noexcept
 
R__EXTERN TVirtualRWMutex * gCoreMutex
 
static Roo_reg_AGKInteg1D instance
 
void GetNormalizedName(std::string &norm_name, std::string_view name)
Return the normalized name.