1    	/* /% C++ %/ */
2    	/***********************************************************************
3    	 * cint (C/C++ interpreter)
4    	 ************************************************************************
5    	 * Header file DataMbr.h
6    	 ************************************************************************
7    	 * Description:
8    	 *  Extended Run Time Type Identification API
9    	 ************************************************************************
10   	 * Copyright(c) 1995~1998  Masaharu Goto 
11   	 *
12   	 * For the licensing terms see the file COPYING
13   	 *
14   	 ************************************************************************/
15   	
16   	
17   	#ifndef G__DATAMEMBER_H
18   	#define G__DATAMEMBER_H
19   	
20   	#ifndef G__API_H
21   	#include "Api.h"
22   	#endif
23   	
24   	namespace Cint {
25   	
26   	/*********************************************************************
27   	* class G__DataMemberInfo
28   	*
29   	*
30   	*********************************************************************/
31   	class 
32   	#ifndef __CINT__
33   	G__EXPORT
34   	#endif
35   	G__DataMemberInfo {
36   	 public:
37   	  ~G__DataMemberInfo() {}
38   	   G__DataMemberInfo();
39   	   G__DataMemberInfo(const G__DataMemberInfo& dmi);
40   	   G__DataMemberInfo(class G__ClassInfo &a);
41   	   G__DataMemberInfo& operator=(const G__DataMemberInfo& dmi);
42   	
43   	  void Init();
44   	  void Init(class G__ClassInfo &a);
45   	  void Init(long handlinin,long indexin,G__ClassInfo *belongingclassin);
46   	
47   	  long Handle() { return(handle); }
48   	  int Index() { return ((int)index); }
49   	  const char *Name();
50   	  const char *Title();
51   	  G__TypeInfo* Type();
52   	  long Property();
53   	  long Offset() ;
54   	  int Bitfield();
55   	  int ArrayDim() ;
56   	  long MaxIndex(int dim) ;
57   	  G__ClassInfo* MemberOf();
58   	  void SetGlobalcomp(G__SIGNEDCHAR_T globalcomp);
59   	  int IsValid();
60   	  int SetFilePos(const char* fname);
61   	  int Next();
62   	  int Prev();
63   	
64   	  enum error_code { VALID, NOT_INT, NOT_DEF, IS_PRIVATE, UNKNOWN };
65   	  const char *ValidArrayIndex(int *errnum = 0, char **errstr = 0);
66   	
67   	  const char *FileName();
68   	  int LineNumber();
69   	
70   	  static int SerialNumber();
71   	
72   	 private:
73   	  long handle;
74   	  long index;
75   	  G__ClassInfo *belongingclass;
76   	  G__TypeInfo type;
77   	};
78   	
79   	}
80   	
81   	using namespace Cint;
82   	#endif
83