00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef G__DATAMEMBER_H
00018 #define G__DATAMEMBER_H
00019
00020 #ifndef G__API_H
00021 #include "Api.h"
00022 #endif
00023
00024 namespace Cint {
00025
00026
00027
00028
00029
00030
00031 class
00032 #ifndef __CINT__
00033 G__EXPORT
00034 #endif
00035 G__DataMemberInfo {
00036 public:
00037 ~G__DataMemberInfo() {}
00038 G__DataMemberInfo();
00039 G__DataMemberInfo(const G__DataMemberInfo& dmi);
00040 G__DataMemberInfo(class G__ClassInfo &a);
00041 G__DataMemberInfo& operator=(const G__DataMemberInfo& dmi);
00042
00043 void Init();
00044 void Init(class G__ClassInfo &a);
00045 void Init(long handlinin,long indexin,G__ClassInfo *belongingclassin);
00046
00047 long Handle() { return(handle); }
00048 int Index() { return ((int)index); }
00049 const char *Name();
00050 const char *Title();
00051 G__TypeInfo* Type();
00052 long Property();
00053 long Offset() ;
00054 int Bitfield();
00055 int ArrayDim() ;
00056 int MaxIndex(int dim) ;
00057 G__ClassInfo* MemberOf();
00058 void SetGlobalcomp(int globalcomp);
00059 int IsValid();
00060 int SetFilePos(const char* fname);
00061 int Next();
00062 int Prev();
00063
00064 enum error_code { VALID, NOT_INT, NOT_DEF, IS_PRIVATE, UNKNOWN };
00065 const char *ValidArrayIndex(int *errnum = 0, char **errstr = 0);
00066
00067 const char *FileName();
00068 int LineNumber();
00069
00070 private:
00071 long handle;
00072 long index;
00073 G__ClassInfo *belongingclass;
00074 G__TypeInfo type;
00075 };
00076
00077 }
00078
00079 using namespace Cint;
00080 #endif