[root] / trunk / core / meta / inc / TMethodArg.h Repository:
ViewVC logotype

Log of /trunk/core/meta/inc/TMethodArg.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 48770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 28 18:56:35 2013 UTC (22 months, 3 weeks ago) by pcanal
File length: 2253 byte(s)
Diff to previous 25986
Add routines to get the desugared type for the return type of a method
and for its arguments.  Namely:
  TFunction::GetReturnTypeNormalizedName
  TMethodArg::GetTypeNormalizedName

Those routines are similar to routines that are named using the words
'TrueName' but have a clarified definition and have a different signature.

A normalized name is defined as:

The name of the type as accessible from the global scope to which 
a 'using namespace std;' has been applied to and with:
  - all typedefs desugared except for Double32_t, Float16_t, [U]Long64_t, 
    std::string and any typedef that is declared within the std namespace
    and points to an entity also declared with std (hence hiding the std library
    implementation 'details').
  - default template parameters removed for STL collections and added for any
    other class templates instances.
  - Fully qualified both itself and all of its component, except that, at least
    for moment, all 'std::' are stripped.

These routines have the signature:

   std::string GetReturnTypeNormalizedName() const;

They do not return 'const char*' to avoid having to have a static buffer
holding the information or recording the information as part of the object.

They do not return TString to avoid the tempting (and compilable) 'const char
*str = method->Get...();' which would lead to inadvertent use of 'destroyed'
memory.

They do return std::string as in C++11, thanks to the move constructor, will no
longer be expansive to return.

If those routines becomes/are very time critical in C++03, we will then either
add a similar routines returning const char* (for example GetTrueTypeName) or a
similar routines taking the output string as an argument by reference.

Revision 25986 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 28 08:39:44 2008 UTC (6 years, 2 months ago) by brun
File length: 2204 byte(s)
Diff to previous 24077
From Federico,

More changes for gcc option -weffc++

Revision 24077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat May 31 19:39:09 2008 UTC (6 years, 7 months ago) by brun
File length: 2080 byte(s)
Diff to previous 22961
Extend the TInterpreter class to support the CINT API used so far by ROOT.
The concrete implementation of the class is in TCint.
The new functions are essentially interfaces to the existing CINT C++ classes
like G__ClassInfo, G__CallFunc, G__DataMemberInfo, G__MethodInfo, G__TypeInfo
and G__TypedefInfo. Most of these functions will call the Reflex interface
once the CINT/Reflex interface will be available later this year.
All direct calls to CINT are replaced by calls like gCint->ClassInfo_xxx where gCint
points to the TCint implementation.
The existing calls to TCint via gInterpreter are kept because on Windows
gInterpreter does not call directly TCint, but instead call TWin32InterpreterProxy
that in turns call TCint.
On Linux and Mac, gInterpreter and gCint are equivalent.

Once the transformation using gCint will be completed, it will be possible
to specify at startup time which version of CINT (CINT or CINT7) by loading
dynamically TCint or TCint7.--This line, and those below, will be ignored--

M    core/meta/src/TStreamerElement.cxx
M    core/meta/src/TCint.cxx
M    core/meta/src/TGlobal.cxx
M    core/meta/src/TBaseClass.cxx
M    core/meta/src/TDataMember.cxx
M    core/meta/src/TInterpreter.cxx
M    core/meta/src/TClass.cxx
M    core/meta/src/TMethodArg.cxx
M    core/meta/src/TDataType.cxx
M    core/meta/src/TMethodCall.cxx
M    core/meta/src/TIsAProxy.cxx
M    core/meta/src/TMethod.cxx
M    core/meta/src/TFunction.cxx
M    core/meta/inc/TClass.h
M    core/meta/inc/TDictionary.h
M    core/meta/inc/TMethodArg.h
M    core/meta/inc/TDataType.h
M    core/meta/inc/TMethodCall.h
M    core/meta/inc/TMethod.h
M    core/meta/inc/TFunction.h
M    core/meta/inc/TCint.h
M    core/meta/inc/TGlobal.h
M    core/meta/inc/TBaseClass.h
M    core/meta/inc/TDataMember.h
M    core/meta/inc/TInterpreter.h
M    core/thread/src/TThread.cxx
M    core/base/src/TVirtualFitter.cxx
M    core/base/src/TStorage.cxx
M    core/base/src/TQConnection.cxx
M    core/base/src/TROOT.cxx
M    core/base/src/TSystem.cxx
M    core/base/src/TQObject.cxx
M    core/rint/src/TRint.cxx
M    core/rint/src/TTabCom.cxx
M    math/foam/src/TFoam.cxx
M    math/minuit2/src/TFitterMinuit.cxx
M    math/mathcore/src/FunctorCint.cxx
M    math/minuit/src/TMinuit.cxx
M    tree/tree/src/TTree.cxx
M    tree/tree/src/TSelectorCint.cxx
M    tree/tree/src/TSelector.cxx
M    tree/tree/inc/TSelectorCint.h
M    roofit/roofitcore/src/RooGenCategory.cxx
M    roofit/roofitcore/src/RooWorkspace.cxx
M    hist/hist/src/TF1.cxx
M    gui/guibuilder/src/TGuiBldDragManager.cxx
M    net/alien/inc/TAlienSystem.h

Revision 22961 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 3 13:32:57 2008 UTC (6 years, 9 months ago) by rdm
File length: 2147 byte(s)
Diff to previous 20882
move the directories:
  base clib cont meta metautils newdelete pcre rint thread unix utils
  winnt zip
under the new core meta directory.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2147 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2147 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2197 byte(s)
Diff to previous 16926
remove :$ from tag line

Revision 16926 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 24 14:24:54 2006 UTC (8 years, 2 months ago) by rdm
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2207 byte(s)
Diff to previous 5664
patch handling namespace CINT of CINT 5-16-16.

Revision 5664 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 26 10:24:09 2002 UTC (12 years, 2 months ago) by brun
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2166 byte(s)
Diff to previous 1205
TDictionary derives now from TNamed instead of TObject.
This change simplifies all the meta classes avoiding duplication
of functions GetName, GetTitle, Compare, Hash.
This also removes some coupling with CINT.

Revision 1205 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 15:13:57 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2325 byte(s)
Diff to previous 3
      W A R N I N G   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     ==================================================================
A very long list of changes in this pre-release of version 3.00.
We have modified the signature of many functions (in particular TObject)
to introduce more constness in the system.
You must change your code if your class derives from TObject and uses
one of the modified functions such as ls, Print, Compare, Hash, etc.
The modified functions in TObject have the following signature:
   virtual TObject    *Clone() const;
   virtual Int_t       Compare(const TObject *obj) const;
   virtual void        Delete(Option_t *option=""); // *MENU*
   virtual void        DrawClass() const; // *MENU*
   virtual void        DrawClone(Option_t *option="") const; // *MENU*
   virtual void        Dump() const; // *MENU*
   virtual TObject    *FindObject(const TObject *obj) const;
   virtual char       *GetObjectInfo(Int_t px, Int_t py) const;
   virtual ULong_t     Hash() const;
   virtual void        Inspect() const; // *MENU*
   virtual Bool_t      IsEqual(const TObject *obj) const;
   virtual void        ls(Option_t *option="") const;
   virtual void        Print(Option_t *option="") const;

A similar operation has been done with classes such as TH1, TVirtualPad,
TTree, etc.

Revision 3 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: trunk/meta/inc/TMethodArg.h
File length: 2239 byte(s)
Copied from: branches/rdm/meta/inc/TMethodArg.h revision 2
Diff to previous 2
This commit was generated by cvs2svn to compensate for changes in r2,
which included commits to RCS files with non-trunk default branches.

Revision 2 - (view) (download) (as text) (annotate) - [select for diffs]
Added Tue May 16 17:00:58 2000 UTC (14 years, 8 months ago) by rdm
Original Path: branches/rdm/meta/inc/TMethodArg.h
File length: 2239 byte(s)
Initial import of ROOT into CVS

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9