19#define kInvalid THaVar::kInvalid
20#define kInvalidInt THaVar::kInvalidInt
26 : fSelf(pvar), fValueP(addr), fType(
type)
42 const char*
const here =
"Variable::VerifyNonArrayName";
48 "Brackets and commas not allowed.",
name );
58 return fSelf->TNamed::GetName();
64 return Vars::GetTypeSize(
fType );
70 return Vars::GetTypeName(
fType );
100 std::vector<Double_t> res;
102 for(
int i = 0 ; i <
GetLen(); i++) {
114 const char*
const here =
"GetValue()";
116 if( i<0 || i>=
GetLen() ) {
131 return *
static_cast<const Double_t*
>(loc);
137 return *
static_cast<const Float_t*
>(loc);
141 return *
static_cast<const Long64_t*
>(loc);
145 return *
static_cast<const ULong64_t*
>(loc);
151 return *
static_cast<const Int_t*
>(loc);
156 return *
static_cast<const UInt_t*
>(loc);
160 return *
static_cast<const Short_t*
>(loc);
164 return *
static_cast<const UShort_t*
>(loc);
168 return *
static_cast<const Char_t*
>(loc);
172 return *
static_cast<const UChar_t*
>(loc);
176 fSelf->
Error(
here,
"Cannot get value from composite object, variable %s",
193 const char*
const here =
"GetValueInt()";
195 if( i<0 || i>=
GetLen() ) {
214 return *
static_cast<const Long64_t*
>(loc);
218 return *
static_cast<const ULong64_t*
>(loc);
224 return *
static_cast<const Int_t*
>(loc);
229 return *
static_cast<const UInt_t*
>(loc);
233 return *
static_cast<const Short_t*
>(loc);
237 return *
static_cast<const UShort_t*
>(loc);
241 return *
static_cast<const Char_t*
>(loc);
245 return *
static_cast<const UChar_t*
>(loc);
249 fSelf->
Error(
here,
"Cannot get value from composite object, variable %s",
267 const char*
const here =
"GetDataPointer()";
270 static_assert(
sizeof(
ULong_t) ==
sizeof(
void*),
"ULong_t must be of pointer size" );
272 if( i<0 || i>=
GetLen() ) {
279 return reinterpret_cast<const void*
>(loc);
283 const void* ptr = *
reinterpret_cast<void*
const *
>(
fValueP);
285 return reinterpret_cast<const void*
>(loc);
288 if(
fType >= kDouble2P &&
fType <= kUChar2P ) {
289 const void**
const *ptr =
reinterpret_cast<const void**
const *
>(
fValueP);
307 size_t nbytes = nelem * type_size;
316 memcpy( buf,
src, nbytes );
320 static_assert(
sizeof(char) == 1,
"Need sizeof(char) = 1 byte" );
322 for(
Int_t i = 0; i<nelem; ++i ) {
326 memcpy(
static_cast<char*
>(buf)+nbytes,
src, type_size );
342 const char*
const here =
"GetData()";
348 if( i<0 || i>=
GetLen() ) {
357 memcpy( buf,
src, nbytes );
390 if( elem.
IsError() )
return -1;
391 if( !elem.
IsArray() )
return 0;
394 if( ndim != elem.
GetNdim() )
return -2;
399 for(
Int_t i = 0; i<ndim; i++ ) {
400 if( elem[i] >= adim[i] )
return -1;
502 if( strcmp(
option,
"FULL") != 0 )
return;
507 cout <<
"[" <<
len <<
"]";
539 fSelf->TNamed::SetNameTitle(
name, descript );
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t index
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 Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t src
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 Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
static const char *const here
size_t GetTypeSize() const
virtual Bool_t IsFloat() const
virtual void SetName(const char *name)
virtual const void * GetDataPointer(Int_t i=0) const
virtual const Int_t * GetDim() const
Bool_t VerifyNonArrayName(const char *name) const
virtual Double_t GetValue(Int_t i=0) const
virtual Int_t Index(const THaArrayString &) const
virtual Int_t GetNdim() const
virtual Bool_t HasSizeVar() const
virtual Bool_t IsPointerArray() const
virtual std::vector< Double_t > GetValues() const
const char * GetName() const
virtual Bool_t IsBasic() const
virtual Bool_t IsArray() const
Variable(THaVar *pvar, const void *addr, VarType type)
virtual Bool_t IsTObject() const
virtual Bool_t HasSameSize(const Variable &rhs) const
virtual Bool_t IsError() const
virtual void SetNameTitle(const char *name, const char *descript)
virtual void Print(Option_t *opt) const
virtual Bool_t IsVector() const
virtual Long64_t GetValueInt(Int_t i=0) const
virtual size_t GetData(void *buf) const
const char * GetTypeName() const
virtual Int_t GetLen() const
virtual Bool_t IsContiguous() const
virtual Bool_t IsStreamable() const
virtual Bool_t IsVarArray() const
const char * GetTypeName() const
virtual void Error(const char *method, const char *msgfmt,...) const
unsigned long long ULong64_t