1 // @(#)root/meta:$Id$ 2 // Author: Fons Rademakers 07/02/97 3 4 /************************************************************************* 5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. * 6 * All rights reserved. * 7 * * 8 * For the licensing terms see $ROOTSYS/LICENSE. * 9 * For the list of contributors see $ROOTSYS/README/CREDITS. * 10 *************************************************************************/ 11 12 #ifndef ROOT_TFunction 13 #define ROOT_TFunction 14 15 16 ////////////////////////////////////////////////////////////////////////// 17 // // 18 // TFunction // 19 // // 20 // Dictionary of global functions (global functions are obtained from // 21 // CINT). // 22 // // 23 ////////////////////////////////////////////////////////////////////////// 24 25 #ifndef ROOT_TDictionary 26 #include "TDictionary.h" 27 #endif 28 29 class TFunction : public TDictionary { 30 31 friend class TCint; 32 friend class TCintWithCling; 33 34 protected: 35 MethodInfo_t *fInfo; //pointer to CINT function info 36 TString fMangledName; //Mangled name as determined by CINT. 37 TString fSignature; //string containing function signature 38 TList *fMethodArgs; //list of function arguments 39 40 virtual void CreateSignature(); 41 42 public: 43 TFunction(MethodInfo_t *info = 0); 44 TFunction(const TFunction &orig); 45 TFunction& operator=(const TFunction &rhs); 46 virtual ~TFunction(); 47 virtual TObject *Clone(const char *newname="") const; 48 virtual const char *GetMangledName() const; 49 virtual const char *GetPrototype() const; 50 const char *GetSignature(); 51 const char *GetReturnTypeName() const; 52 std::string GetReturnTypeNormalizedName() const; 53 TList *GetListOfMethodArgs(); 54 Int_t GetNargs() const; 55 Int_t GetNargsOpt() const; 56 void *InterfaceMethod() const; 57 Long_t Property() const; 58 59 ClassDef(TFunction,0) //Dictionary for global function 60 }; 61 62 #endif 63