Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
TMethodArg.h
Go to the documentation of this file.
1 // @(#)root/meta:$Id$
2 // Author: Rene Brun 04/02/95
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_TMethodArg
13 #define ROOT_TMethodArg
14 
15 
16 //////////////////////////////////////////////////////////////////////////
17 // //
18 // TMethodArg //
19 // //
20 // Dictionary interface for a method argument. //
21 // //
22 //////////////////////////////////////////////////////////////////////////
23 
24 #include "TDictionary.h"
25 
26 #include "TDataMember.h"
27 
28 class TFunction;
29 class TMethod;
30 
31 class TMethodArg : public TDictionary {
32 
33 friend class TMethod;
34 
35 private:
36  TMethodArg(const TMethodArg&); // Not implemented
37  TMethodArg& operator=(const TMethodArg&); // Not implemented
38 
39  MethodArgInfo_t *fInfo; //pointer to CINT method argument info
40  TFunction *fMethod; //pointer to the method or global function
41  TDataMember *fDataMember; //TDataMember pointed by this arg,to get values and options from.
42 
43 public:
44  TMethodArg(MethodArgInfo_t *info = 0, TFunction *method = 0);
45  virtual ~TMethodArg();
46  const char *GetDefault() const;
47  TFunction *GetMethod() const { return fMethod; }
48  const char *GetTypeName() const;
49  const char *GetFullTypeName() const;
50  std::string GetTypeNormalizedName() const;
51  Long_t Property() const;
52 
53  TDataMember *GetDataMember() const;
54  TList *GetOptions() const;
55 
56  void Update(MethodArgInfo_t *info);
57 
58  ClassDef(TMethodArg,0) //Dictionary for a method argument
59 };
60 
61 #endif
62