/* /% C++ %/ */ /*********************************************************************** * cint (C/C++ interpreter) ************************************************************************ * Header file DataMbr.h ************************************************************************ * Description: * Extended Run Time Type Identification API ************************************************************************ * Copyright(c) 1991~1996 [hp] Hewlett Packard Japan, All rights reserved * Author Masaharu Goto (gotom@jpn.hp.com) * Copyright(c) 1995~1998 Masaharu Goto (MXJ02154@niftyserve.or.jp) * * Permission to use, copy, modify and distribute this software and its * documentation for any purpose is hereby granted without fee, * provided that the above copyright notice appear in all copies and * that both that copyright notice and this permission notice appear * in supporting documentation. Hewlett-Packard Japan Company makes no * representations about the suitability of this software for any * purpose. It is provided "as is" without express or implied warranty. ************************************************************************/ #ifndef G__DATAMEMBER_H #define G__DATAMEMBER_H /*KEEP,Api.*/ #include "Api.h" /*KEND.*/ /********************************************************************* * class G__DataMemberInfo * * *********************************************************************/ class G__DataMemberInfo { public: ~G__DataMemberInfo() {} G__DataMemberInfo() : type() { Init(); } G__DataMemberInfo(class G__ClassInfo &a) : type() { Init(a); } void Init(); void Init(class G__ClassInfo &a); void Init(long handlinin,long indexin,G__ClassInfo *belongingclassin); const char *Name() ; const char *Title() ; G__TypeInfo* Type() { return(&type); } long Property(); long Offset() ; int ArrayDim() ; int MaxIndex(int dim) ; G__ClassInfo* MemberOf() { return(belongingclass); } int IsValid(); int SetFilePos(const char* fname); int Next(); const char *FileName(); int LineNumber(); private: long handle; long index; G__ClassInfo *belongingclass; G__TypeInfo type; }; #endif