205 if (t && t[0] !=
'!')
212 strncmp(
name,
"unsigned short",
sizeof (
"unsigned short")) != 0 &&
214 strncmp(
name,
"unsigned long",
sizeof (
"unsigned long")) != 0)
280 fInfo(
gCling->DataMemberInfo_FactoryCopy(dm.fInfo)),
282 fDataType(dm.fDataType),
284 fSTLCont(dm.fSTLCont),
285 fProperty(dm.fProperty),
286 fArrayDim(dm.fArrayDim),
287 fArrayMaxIndex( dm.fArrayDim ?
new Int_t[dm.fArrayDim] : nullptr),
288 fArrayIndex(dm.fArrayIndex),
290 fFullTypeName(dm.fFullTypeName),
291 fTrueTypeName(dm.fTrueTypeName),
292 fValueGetter(nullptr),
293 fValueSetter(nullptr),
294 fOptions(dm.fOptions ? (
TList*)dm.fOptions->Clone() : nullptr)
469 char *
rdmc = (
char*)
rdm->GetName();
474 if (
rdm->GetDataMember() !=
this)
continue;
480 if (
rdm->IsObject()) {
520 return sizeof(
Int_t);
527 if ( cl)
return cl->
Size();
592 return newId !=
nullptr;
594 return fInfo !=
nullptr;
655 const char *
ptr1 =
nullptr;
656 char *
ptr2 =
nullptr;
657 char *
ptr3 =
nullptr;
671 if (
ptr1 ==
nullptr) {
672 Fatal(
"TDataMember",
"Internal error, found \"*OPTION={\" but not \"{}\" in %s.",
GetTitle());
676 if (
ptr1 ==
nullptr) {
677 Fatal(
"TDataMember",
"Internal error, found \"*OPTION={\" but not \"{}\" in %s.",
GetTitle());
688 std::vector<std::string>
tokens;
704 if (
ptr1 ==
nullptr) {
705 Fatal(
"TDataMember",
"Internal error, found \"GetMethod\" but not \"\\"\" in %s.",
GetTitle());
709 if (
ptr1 ==
nullptr) {
710 Fatal(
"TDataMember",
"Internal error, found \"GetMethod\" but not \"\\"\" in %s.",
GetTitle());
723 if (
ptr1 ==
nullptr) {
724 Fatal(
"TDataMember",
"Internal error, found \"SetMethod\" but not \"\\"\" in %s.",
GetTitle());
728 if (
ptr1 ==
nullptr) {
729 Fatal(
"TDataMember",
"Internal error, found \"SetMethod\" but not \"\\"\" in %s.",
GetTitle());
746 if (
ptr1 ==
nullptr) {
747 Fatal(
"TDataMember",
"Internal error, found \"Items\" but not \"()\" in %s.",
GetTitle());
751 if (
ptr1 ==
nullptr) {
752 Fatal(
"TDataMember",
"Internal error, found \"Items\" but not \"()\" in %s.",
GetTitle());
813 Fatal(
"TDataMember",
"Internal error, couldn't recognize enum/global value %s.",
ptr1);
945 if (
info ==
nullptr) {
970 b.ReadClassBuffer(
Class(),
this);
986 b.WriteClassBuffer(
Class(),
this);
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h prop
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
R__EXTERN TVirtualMutex * gInterpreterMutex
R__EXTERN TInterpreter * gCling
char * Form(const char *fmt,...)
Formats a string in a circular formatting buffer.
#define R__LOCKGUARD(mutex)
Buffer base class used for serializing objects.
TClass instances represent classes, structs and namespaces in the ROOT type system.
void BuildRealData(void *pointer=nullptr, Bool_t isTransient=kFALSE)
Build a full list of persistent data members.
TList * GetListOfDataMembers(Bool_t load=kTRUE)
Return list containing the TDataMembers of a class.
Short_t GetDeclFileLine() const
TList * GetListOfRealData() const
Int_t Size() const
Return size of object of this class.
ClassInfo_t * GetClassInfo() const
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.
TObject * Clone(const char *newname="") const override
Make a clone of an collection using the Streamer facility.
All ROOT classes may have RTTI (run time type identification) support added.
virtual ~TDataMember()
TDataMember dtor deletes adopted CINT DataMemberInfo object.
Int_t GetMaxIndex(Int_t dim) const
Return maximum index for array dimension "dim".
TDataMember(const TDataMember &)
copy constructor
void Streamer(TBuffer &) override
Stream an object of TDataMember.
TMethodCall * SetterMethod(TClass *cl)
Return a TMethodCall method responsible for setting the value of data member.
virtual bool Update(DataMemberInfo_t *info)
Update the TFunction to reflect the new info.
TDataMember & operator=(const TDataMember &)
assignment operator
const char * GetTrueTypeName() const
Get the desugared type name of this data member, including const and volatile qualifiers.
Longptr_t GetOffsetCint() const
Get offset from "this" using the information in CINT only.
Long_t Property() const override
Get property description word. For meaning of bits see EProperty.
TMethodCall * fValueGetter
Int_t GetArrayDim() const
Return number of array dimensions.
Longptr_t fOffset
pointer to data basic type descriptor
Bool_t IsEnum() const
Return true if data member is an enum.
TList * GetOptions()
Returns list of options - list of TOptionListItems.
void Init(bool afterReading)
Routines called by the constructor and Update to reset the member's information.
Int_t GetUnitSize() const
Get the sizeof the underlying type of the data member (i.e.
Bool_t IsBasic() const
Return true if data member is a basic type, e.g. char, int, long...
Int_t IsSTLContainer()
The return type is defined in TDictionary (kVector, kList, etc.)
Bool_t IsaPointer() const
Return true if data member is a pointer.
Bool_t IsValid()
Return true if this data member object is pointing to a currently loaded data member.
TMethodCall * GetterMethod(TClass *cl=nullptr)
Return a TMethodCall method responsible for getting the value of data member.
TClass * fClass
pointer to CINT data member info
void ExtractOptionsFromComment()
Build TOptionListItems from the member comment *OPTION={
TDataType * GetDataType() const
Longptr_t GetOffset() const
Get offset from "this".
const char * GetTypeName() const
Get the decayed type name of this data member, removing const and volatile qualifiers,...
DeclId_t GetDeclId() const
TMethodCall * fValueSetter
method that returns a value;
TList * fOptions
method which sets value;
const char * GetArrayIndex() const
If the data member is pointer and has a valid array size in its comments GetArrayIndex returns a stri...
TDataType * fDataType
pointer to the class
const char * GetFullTypeName() const
Get the concrete type name of this data member, including const and volatile qualifiers.
TClass * GetClass() const
static TDataType * GetDataType(EDataType type)
Given a EDataType type, get the TDataType* that represents it.
Int_t Size() const
Get size of basic typedef'ed type.
This class defines an abstract interface that must be implemented by all classes that contain diction...
Bool_t UpdateInterpreterStateMarker()
the Cling ID of the transaction that last updated the object
TDictionary & operator=(const TDictionary &other)
The TEnumConstant class implements the constants of the enum type.
The TEnum class implements the enum type.
static TEnum * GetEnum(const std::type_info &ti, ESearchAction sa=kALoadAndInterpLookup)
Global variables class (global variables are obtained from CINT).
virtual DataMemberInfo_t * DataMemberInfo_FactoryCopy(DataMemberInfo_t *) const
virtual const char * DataMemberInfo_Name(DataMemberInfo_t *) const
virtual const char * DataMemberInfo_TypeName(DataMemberInfo_t *) const
virtual const char * DataMemberInfo_ValidArrayIndex(DataMemberInfo_t *) const
virtual Longptr_t DataMemberInfo_Offset(DataMemberInfo_t *) const
virtual Bool_t DataMemberInfo_IsValid(DataMemberInfo_t *) const
virtual Long_t DataMemberInfo_TypeProperty(DataMemberInfo_t *) const
virtual Long_t DataMemberInfo_Property(DataMemberInfo_t *) const
virtual int DataMemberInfo_ArrayDim(DataMemberInfo_t *) const
virtual void DataMemberInfo_Delete(DataMemberInfo_t *) const
virtual int DataMemberInfo_MaxIndex(DataMemberInfo_t *, Int_t) const
virtual const char * DataMemberInfo_Title(DataMemberInfo_t *) const
virtual const char * DataMemberInfo_TypeTrueName(DataMemberInfo_t *) const
virtual const char * TypeName(const char *s)=0
A collection of TDataMember objects designed for fast access given a DeclId_t and for keep track of T...
TObject * FindObject(const char *name) const override
Find an object in this list using its name.
void Add(TObject *obj) override
void Delete(Option_t *option="") override
Remove all objects from the list AND delete all heap based objects.
Method or function calling interface.
const char * GetMethodName() const
const char * GetParams() const
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Mother of all ROOT objects.
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 Fatal(const char *method, const char *msgfmt,...) const
Issue fatal error message.
TDataMember * fDataMember
Long_t fValue
Data member to which this option belongs.
The TRealData class manages the effective list of all data members for a given class.
void Clear()
Clear string without changing its capacity.
const char * Data() const
TString & Append(const char *cs)
std::string GetLong64_Name(const char *original)
Replace 'long long' and 'unsigned long long' by 'Long64_t' and 'ULong64_t'.
ROOT::ESTLType UnderlyingIsSTLCont(std::string_view type)
Return the type of STL collection, if any, that is the underlying type of the given type.