1 /* /% C++ %/ */ 2 /*********************************************************************** 3 * cint (C/C++ interpreter) 4 ************************************************************************ 5 * Header file MethodAr.h 6 ************************************************************************ 7 * Description: 8 * Extended Run Time Type Identification API 9 ************************************************************************ 10 * Copyright(c) 1995~1999 Masaharu Goto 11 * 12 * For the licensing terms see the file COPYING 13 * 14 ************************************************************************/ 15 16 17 #ifndef G__METHODARGINFO_H 18 #define G__METHODARGINFO_H 19 20 #ifndef G__API_H 21 #include "Api.h" 22 #endif 23 24 namespace Cint { 25 26 /********************************************************************* 27 * class G__MethodArgInfo 28 * 29 * 30 *********************************************************************/ 31 class 32 #ifndef __CINT__ 33 G__EXPORT 34 #endif 35 G__MethodArgInfo { 36 public: 37 ~G__MethodArgInfo() {} 38 void Init(class G__MethodInfo &a); 39 G__MethodArgInfo(class G__MethodInfo &a) 40 : argn(0), belongingmethod(NULL), type() { Init(a); } 41 G__MethodArgInfo(const G__MethodArgInfo& mai) 42 : argn(mai.argn), belongingmethod(mai.belongingmethod), type(mai.type) 43 { } 44 G__MethodArgInfo& operator=(const G__MethodArgInfo& mai) { 45 if (&mai != this) { 46 argn=mai.argn; belongingmethod=mai.belongingmethod; 47 type=mai.type; 48 } 49 return *this;} 50 51 const char *Name(); 52 G__TypeInfo* Type() { return(&type); } 53 long Property(); 54 char *DefaultValue(); 55 G__MethodInfo* ArgOf() { return(belongingmethod); } 56 int IsValid(); 57 int Next(); 58 59 private: 60 long argn; 61 G__MethodInfo *belongingmethod; 62 G__TypeInfo type; 63 64 public: 65 G__MethodArgInfo(): argn(0), belongingmethod(NULL), type() {} 66 67 }; 68 69 } // namespace Cint 70 71 using namespace Cint; 72 #endif 73