library: libCore #include "TFunction.h"

# TFunction

class description - source file - inheritance tree (.pdf)

## class TFunction : public TDictionary

| Inheritance Chart:
`TObject`
| <- | `TNamed`
| <- | `TDictionary`
| <- | `TFunction` |
<- |
`TMethod` |

        protected:

          virtual void CreateSignature()

        public:

                              TFunction(G__MethodInfo* info = 0)
                              TFunction(const TFunction& orig)
                      virtual ~TFunction()
               static TClass* Class()
             virtual TObject* Clone(const char* newname = "") const
                       TList* GetListOfMethodArgs()
          virtual const char* GetMangledName() const
                        Int_t GetNargs() const
                        Int_t GetNargsOpt() const
          virtual const char* GetPrototype() const
                  const char* GetReturnTypeName() const
                  const char* GetSignature() const
                        void* InterfaceMethod() const
              virtual TClass* IsA() const
                   TFunction& operator=(const TFunction& rhs)
               virtual Long_t Property() const
                 virtual void ShowMembers(TMemberInspector& insp, char* parent)
                 virtual void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)

### Data Members

        protected:

          G__MethodInfo* fInfo         pointer to CINT function info
                 TString fMangledName  Mangled name as determined by CINT.
                 TString fSignature    string containing function signature
                  TList* fMethodArgs   list of function arguments

## Class Description

     Global functions class (global functions are obtaine from CINT).
     This class describes one single global function.
     The TROOT class contains a list of all currently defined global
     functions (accessible via TROOT::GetListOfGlobalFunctions()).

TFunction(G__MethodInfo *info) : TDictionary()

     Default TFunction ctor. TFunctions are constructed in TROOT via
     a call to TCint::UpdateListOfGlobalFunctions().

TFunction(const TFunction &orig) : TDictionary(orig)

     Copy operator.

~TFunction()

     TFunction dtor deletes adopted G__MethodInfo.

TObject* Clone(const char *newname) const

     Clone method.

void CreateSignature()

     Using the CINT method arg information to create a complete signature string.

const char* GetSignature()

     Return signature of function.

TList* GetListOfMethodArgs()

     Return list containing the TMethodArgs of a TFunction.

const char* GetReturnTypeName() const

     Get full type description of function return type, e,g.: "class TDirectory*".

Int_t GetNargs() const

     Number of function arguments.

Int_t GetNargsOpt() const

     Number of function optional (default) arguments.

Long_t Property() const

     Get property description word. For meaning of bits see EProperty.

void* InterfaceMethod() const

     Return pointer to the interface method. Using this pointer we
     can find which TFunction belongs to a G__MethodInfo object.
     Both need to have the same InterfaceMethod pointer.

const char* GetMangledName() const

     Returns the mangled name as defined by CINT, or 0 in case of error.

const char* GetPrototype() const

     Returns the prototype of a function as defined by CINT, or 0 in
     case of error.

### Inline Functions

             TFunction& operator=(const TFunction& rhs)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void Streamer(TBuffer& b)
                   void StreamerNVirtual(TBuffer& b)

Author: Fons Rademakers 07/02/97
Last update: root/meta:$Name: $:$Id: TFunction.cxx,v 1.13 2005/06/07 16:18:32 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *