Back to home page

EIC code displayed by LXR

 
 

    


Warning, file /include/root/TMethodArg.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: Rene Brun   04/02/95
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_TMethodArg
0013 #define ROOT_TMethodArg
0014 
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TMethodArg                                                           //
0019 //                                                                      //
0020 // Dictionary interface for a method argument.                          //
0021 //                                                                      //
0022 //////////////////////////////////////////////////////////////////////////
0023 
0024 #include "TDictionary.h"
0025 #include <string>
0026 
0027 #ifdef R__LESS_INCLUDES
0028 class TDataMember;
0029 #else
0030 #include "TDataMember.h"
0031 #endif
0032 
0033 class TFunction;
0034 class TMethod;
0035 
0036 class TMethodArg : public TDictionary {
0037 
0038 friend class TMethod;
0039 
0040 private:
0041    TMethodArg(const TMethodArg&) = delete;
0042    TMethodArg& operator=(const TMethodArg&) = delete;
0043 
0044    MethodArgInfo_t   *fInfo;         //pointer to CINT method argument info
0045    TFunction         *fMethod;       //pointer to the method or global function
0046    TDataMember       *fDataMember;   //TDataMember pointed by this arg,to get values and options from.
0047 
0048 public:
0049    TMethodArg(MethodArgInfo_t *info = nullptr, TFunction *method = nullptr);
0050    virtual       ~TMethodArg();
0051    const char    *GetDefault() const;
0052    TFunction     *GetMethod() const { return fMethod; }
0053    const char    *GetTypeName() const;
0054    const char    *GetFullTypeName() const;
0055    std::string    GetTypeNormalizedName() const;
0056    Long_t         Property() const override;
0057    TypeInfo_t    *GetTypeInfo() const;
0058 
0059    TDataMember   *GetDataMember() const;
0060    TList         *GetOptions() const;
0061 
0062    void           Update(MethodArgInfo_t *info);
0063 
0064    ClassDefOverride(TMethodArg,0)  //Dictionary for a method argument
0065 };
0066 
0067 #endif
0068