Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TStreamerInfo.cxx File Reference
#include "TStreamerInfo.h"
#include "TFile.h"
#include "TROOT.h"
#include "TClonesArray.h"
#include "TStreamerElement.h"
#include "TClass.h"
#include "TClassEdit.h"
#include "TClassTable.h"
#include "TDataMember.h"
#include "TDataType.h"
#include "TRealData.h"
#include "TBaseClass.h"
#include "TBuffer.h"
#include "TArrayC.h"
#include "TArrayI.h"
#include "TArrayF.h"
#include "TArrayD.h"
#include "TArrayS.h"
#include "TArrayL.h"
#include "TError.h"
#include "TEnum.h"
#include "TRef.h"
#include "TProcessID.h"
#include "TSystem.h"
#include "TObjString.h"
#include "snprintf.h"
#include "TStreamer.h"
#include "TContainerConverters.h"
#include "TCollectionProxyFactory.h"
#include "TVirtualCollectionProxy.h"
#include "TInterpreter.h"
#include "TMemberInspector.h"
#include "TMakeProject.h"
#include "TSchemaRuleSet.h"
#include "TSchemaRule.h"
#include "TVirtualMutex.h"
#include "TStreamerInfoActions.h"
#include "ROOT/BitUtils.hxx"
#include <memory>
#include <algorithm>
#include <array>
#include <new>

Macros

#define DeleteBasicPointer(addr, element, name)
#define DOLOOP   for (k = 0, pointer = arr[0]; k < narr; pointer = arr[++k])
#define READ_ARRAY(TYPE_t)

Enumerations

enum class  EUniquePtrOffset : char { kNA = 0 , kZero = 1 , kNonZero = 2 }

Functions

static TStreamerElementR__CreateEmulatedElement (const char *dmName, const std::string &dmFull, Int_t offset, bool silent, bool needAlign)
static bool R__IsUniquePtr (TStreamerElement *element)
 Return true if the element is auto_ptr or unique_ptr.
static void R__TObjArray_InsertAfter (TObjArray *arr, TObject *newobj, TObject *oldobj)
static void R__TObjArray_InsertAt (TObjArray *arr, std::vector< TStreamerArtificial * > &objs, Int_t at)
static void R__TObjArray_InsertAt (TObjArray *arr, TObject *obj, Int_t at)
static void R__TObjArray_InsertBefore (TObjArray *arr, TObject *newobj, TObject *oldobj)
static void R__WriteConstructorBody (FILE *file, TIter &next)
static void R__WriteDestructorBody (FILE *file, TIter &next)
static void R__WriteMoveBodyPointersArrays (FILE *file, const TString &protoname, TIter &next)
 Write down the pointers and arrays part of the body of the 'move' constructor.
static void R__WriteMoveConstructorBody (FILE *file, const TString &protoname, TIter &next)
 Write down the body of the 'move' constructor.
static void R__WriteOddOperatorEqualBody (FILE *file, const TString &protoname, TIter &next)
 Write down the body of the 'move' constructor.
static constexpr int str_length (const char *str)

Variables

const Int_t kMaxLen = 1024

Macro Definition Documentation

◆ DeleteBasicPointer

#define DeleteBasicPointer ( addr,
element,
name )
Value:
{ \
name **f = (name**)(addr); \
int n = element->GetArrayLength() ? element->GetArrayLength() : 1;\
for(int j=0;j<n;j++) { \
delete [] f[j]; \
f[j] = 0; \
} \
}
#define f(i)
Definition RSha256.hxx:104
char name[80]
Definition TGX11.cxx:148
const Int_t n
Definition legend1.C:16

Definition at line 5281 of file TStreamerInfo.cxx.

◆ DOLOOP

#define DOLOOP   for (k = 0, pointer = arr[0]; k < narr; pointer = arr[++k])

Definition at line 5748 of file TStreamerInfo.cxx.

◆ READ_ARRAY

#define READ_ARRAY ( TYPE_t)
Value:
{ \
Int_t sub_instance, index; \
Int_t instance = k; \
if (len) { \
index = instance / len; \
sub_instance = instance % len; \
} else { \
index = instance; \
sub_instance = 0; \
} \
TYPE_t **val =(TYPE_t**)(ladd); \
return T((val[sub_instance])[index]); \
}
static Roo_reg_AGKInteg1D instance
int Int_t
Signed integer 4 bytes (int).
Definition RtypesCore.h:59
double T(double x)

Enumeration Type Documentation

◆ EUniquePtrOffset

enum class EUniquePtrOffset : char
strong
Enumerator
kNA 
kZero 
kNonZero 

Definition at line 137 of file TStreamerInfo.cxx.

Function Documentation

◆ R__CreateEmulatedElement()

TStreamerElement * R__CreateEmulatedElement ( const char * dmName,
const std::string & dmFull,
Int_t offset,
bool silent,
bool needAlign )
static

Definition at line 6036 of file TStreamerInfo.cxx.

◆ R__IsUniquePtr()

bool R__IsUniquePtr ( TStreamerElement * element)
static

Return true if the element is auto_ptr or unique_ptr.

Definition at line 3716 of file TStreamerInfo.cxx.

◆ R__TObjArray_InsertAfter()

void R__TObjArray_InsertAfter ( TObjArray * arr,
TObject * newobj,
TObject * oldobj )
static

Definition at line 114 of file TStreamerInfo.cxx.

◆ R__TObjArray_InsertAt() [1/2]

void R__TObjArray_InsertAt ( TObjArray * arr,
std::vector< TStreamerArtificial * > & objs,
Int_t at )
static

Definition at line 100 of file TStreamerInfo.cxx.

◆ R__TObjArray_InsertAt() [2/2]

void R__TObjArray_InsertAt ( TObjArray * arr,
TObject * obj,
Int_t at )
static

Definition at line 89 of file TStreamerInfo.cxx.

◆ R__TObjArray_InsertBefore()

void R__TObjArray_InsertBefore ( TObjArray * arr,
TObject * newobj,
TObject * oldobj )
static

Definition at line 126 of file TStreamerInfo.cxx.

◆ R__WriteConstructorBody()

void R__WriteConstructorBody ( FILE * file,
TIter & next )
static

Definition at line 3687 of file TStreamerInfo.cxx.

◆ R__WriteDestructorBody()

void R__WriteDestructorBody ( FILE * file,
TIter & next )
static

Definition at line 3858 of file TStreamerInfo.cxx.

◆ R__WriteMoveBodyPointersArrays()

void R__WriteMoveBodyPointersArrays ( FILE * file,
const TString & protoname,
TIter & next )
static

Write down the pointers and arrays part of the body of the 'move' constructor.

Definition at line 3730 of file TStreamerInfo.cxx.

◆ R__WriteMoveConstructorBody()

void R__WriteMoveConstructorBody ( FILE * file,
const TString & protoname,
TIter & next )
static

Write down the body of the 'move' constructor.

Definition at line 3795 of file TStreamerInfo.cxx.

◆ R__WriteOddOperatorEqualBody()

void R__WriteOddOperatorEqualBody ( FILE * file,
const TString & protoname,
TIter & next )
static

Write down the body of the 'move' constructor.

Definition at line 3828 of file TStreamerInfo.cxx.

◆ str_length()

constexpr int str_length ( const char * str)
staticconstexpr

Definition at line 3708 of file TStreamerInfo.cxx.

Variable Documentation

◆ kMaxLen

const Int_t kMaxLen = 1024

Definition at line 86 of file TStreamerInfo.cxx.