library: libCore
#include "TMethod.h"

TMethod


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

class TMethod : public TFunction

Inheritance Chart:
TObject
<-
TNamed
<-
TDictionary
<-
TFunction
<-
TMethod
    private:
virtual void CreateSignature() public:
TMethod(G__MethodInfo* info = 0, TClass* cl = 0) TMethod(const TMethod& org) virtual ~TMethod() static TClass* Class() virtual TObject* Clone(const char* newname = "") const virtual TDataMember* FindDataMember() TClass* GetClass() const virtual const char* GetCommentString() const virtual TList* GetListOfMethodArgs() virtual const char* Getter() const virtual TMethodCall* GetterMethod() virtual TClass* IsA() const EMenuItemKind IsMenuItem() const TMethod& operator=(const TMethod& rhs) virtual void SetMenuItem(EMenuItemKind menuItem) virtual TMethodCall* SetterMethod() virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members

    private:
TClass* fClass pointer to the class EMenuItemKind fMenuItem type of menuitem in context menu TString fGetter state getter in case this is a *TOGGLE method TMethodCall* fGetterMethod methodcall for state getter in case this is a *TOGGLE method TMethodCall* fSetterMethod methodcall for state setter in case this is a *TOGGLE method

Class Description

                                                                      
  Each ROOT class (see TClass) has a linked list of methods.          
  This class describes one single method (member function).           
  The method info is obtained via the CINT api. See class TCint.      
                                                                      
  The method information is used a.o. by the THml class and by the    
  TTree class.                                                        
                                                                      


TMethod(G__MethodInfo *info, TClass *cl) : TFunction(info)
 Default TMethod ctor. TMethods are constructed in TClass.
 Comment strings are pre-parsed to find out whether the method is
 a context-menu item.

TMethod(const TMethod& orig) : TFunction(orig)
 Copy ctor.

~TMethod()
 Cleanup.

TObject* Clone(const char *newname) const
 Clone method.

const char* GetCommentString()
 Returns a comment string from the class declaration.

void CreateSignature()
 Using the CINT method arg information create a complete signature string.

TDataMember* FindDataMember()
 Tries to guess DataMember from comment string
 and Method's name <==(only if 1 Argument!).
 If more then one argument=> returns pointer to the last argument.
 It also sets MethodArgs' pointers to point to specified data members.

 The form of comment string defining arguments is:
 void XXX(Int_t x1, Float_t y2) //*ARGS={x1=>fX1,y2=>fY2}
 where fX1, fY2 are data fields in the same class.
 ("pointers" to data members)

TMethodCall* GetterMethod()
 Return call environment for the getter method in case this is a
 *TOGGLE method (for the context menu).

TMethodCall* SetterMethod()
 Return call environment for this method in case this is a
 *TOGGLE method which takes a single boolean or integer argument.

TList* GetListOfMethodArgs()
 Returns methodarg list and additionally updates fDataMember in TMethod by
 calling FindDataMember();



Inline Functions


             TMethod& operator=(const TMethod& rhs)
              TClass* GetClass() const
        EMenuItemKind IsMenuItem() const
          const char* Getter() const
                 void SetMenuItem(EMenuItemKind menuItem)
              TClass* Class()
              TClass* IsA() const
                 void ShowMembers(TMemberInspector& insp, char* parent)
                 void Streamer(TBuffer& b)
                 void StreamerNVirtual(TBuffer& b)


Author: Rene Brun 09/02/95
Last update: root/meta:$Name: $:$Id: TMethod.cxx,v 1.6 2004/03/12 08:53:04 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.