66 b.WriteFastArray(
object->ClassName(),
n+1);
74 object->SetUniqueID(123456789);
77 else fClass->Destructor(
object);
79 Error(
"FillBasket",
"Attempt to write a NULL object in leaf:%s",
GetName());
92 char *namecpy =
new char[strlen(
name)+1];
94 char *params = strchr(namecpy,
'(');
95 if (params) { *params = 0; params++; }
96 else params = (
char *)
")";
101 if (
m->GetMethod())
return m;
102 Error(
"GetMethodCall",
"Unknown method:%s",
name);
141 b.ReadFastArray(classname,
n+1);
153 fClass->Destructor(
object);
163 Warning(
"ReadBasket",
"%s::Streamer not available, using TClass::ReadBuffer instead",
fClass->GetName());
171 if (
object->GetUniqueID() == 123456789) {
172 fClass->Destructor(
object);
196 if (R__v > 3 || R__v == 2) {
231 if (
fBranch->GetListOfBranches()->GetEntriesFast())
return false;
int Int_t
Signed integer 4 bytes (int).
long Longptr_t
Integer large enough to hold a pointer (platform-dependent).
short Version_t
Class version identifier (short).
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
A TTree is a list of TBranches.
virtual void SetAddress(void *add)
Set address of this branch.
Buffer base class used for serializing objects.
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.
void ReadBasket(TBuffer &b) override
Read leaf elements from Basket input buffer.
bool IsOnTerminalBranch() const override
Return true if this leaf is does not have any sub-branch/leaf.
void Streamer(TBuffer &) override
Stream an object of class TLeafObject.
void FillBasket(TBuffer &b) override
Pack leaf elements in Basket output buffer.
TLeafObject()
Default constructor for LeafObject.
TObject * GetObject() const
bool Notify() override
This method must be overridden to handle object notification.
bool fVirtual
Support for polymorphism, when set classname is written with object.
const char * GetTypeName() const override
Returns name of leaf type.
~TLeafObject() override
Default destructor for a LeafObject.
void PrintValue(Int_t i=0) const override
Prints leaf value.
void * GetValuePointer() const override
void ** fObjAddress
! Address of Pointer to object
TClassRef fClass
! pointer to class
void SetAddress(void *add=nullptr) override
Set leaf buffer data address.
TMethodCall * GetMethodCall(const char *name)
Returns pointer to method corresponding to name.
TLeaf(const TLeaf &)
Copy constructor.
void Streamer(TBuffer &) override
Stream a class object.
TBranch * GetBranch() const
TBranch * fBranch
! Pointer to supporting branch (we do not own the branch)
Method or function calling interface.
virtual void SetTitle(const char *title="")
Set the title of the TNamed.
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Bool_t TestBit(UInt_t f) const
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
void SetBit(UInt_t f, Bool_t set)
Set or unset the user status bits as specified in f.
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
TObject()
TObject constructor.
@ kInvalidObject
if object ctor succeeded but object should not be used