Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TFunction.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 // @(#)root/meta:$Id$
0002 // Author: Fons Rademakers   07/02/97
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT_TFunction
0013 #define ROOT_TFunction
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TFunction                                                            //
0019 //                                                                      //
0020 // Dictionary of global functions.                                      //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 #include "TDictionary.h"
0025 
0026 #include <string>
0027 
0028 class TMethodCall;
0029 
0030 class TFunction : public TDictionary {
0031 
0032 friend class TCling;
0033 friend class TMethodCall;
0034 
0035 protected:
0036    MethodInfo_t   *fInfo;            //pointer to Interpreter function info
0037    TString         fMangledName;     //Mangled name as determined by CINT.
0038    TString         fSignature;       //string containing function signature
0039    TList          *fMethodArgs;      //list of function arguments
0040 
0041    virtual void    CreateSignature();
0042 
0043 public:
0044    TFunction(MethodInfo_t *info = nullptr);
0045    TFunction(const TFunction &orig);
0046    TFunction& operator=(const TFunction &rhs);
0047    virtual            ~TFunction();
0048 
0049    TObject            *Clone(const char *newname="") const override;
0050    virtual const char *GetMangledName() const;
0051    virtual const char *GetPrototype() const;
0052    const char         *GetSignature();
0053    const char         *GetReturnTypeName() const;
0054    std::string         GetReturnTypeNormalizedName() const;
0055    TList              *GetListOfMethodArgs();
0056    Int_t               GetNargs() const;
0057    Int_t               GetNargsOpt() const;
0058    DeclId_t            GetDeclId() const;
0059    void               *InterfaceMethod() const;
0060    virtual Bool_t      IsValid();
0061    void                Print(Option_t *option="") const override;
0062    Long_t              Property() const override;
0063    Long_t              ExtraProperty() const;
0064    virtual bool        Update(MethodInfo_t *info);
0065 
0066    void                ls(Option_t *option="") const override;
0067 
0068    ClassDefOverride(TFunction,0)  //Dictionary for global function
0069 };
0070 
0071 #endif