[root] / trunk / core / meta / src / TDataType.cxx Repository:
ViewVC logotype

Log of /trunk/core/meta/src/TDataType.cxx

Parent Directory Parent Directory


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

Revision 48043 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 14 12:20:32 2012 UTC (2 years, 1 month ago) by rdm
File length: 13703 byte(s)
Diff to previous 46816
change gCint -> gCling (and not the generic gInterpreter as we'll stay for a
while with cling ;-) ).

Revision 46816 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 26 01:31:16 2012 UTC (2 years, 2 months ago) by pcanal
File length: 13686 byte(s)
Diff to previous 43515
If we are going to have opaque typedef for Long64_t, we need to teach TDataType about it

Revision 43515 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Mar 27 21:15:53 2012 UTC (2 years, 9 months ago) by pcanal
File length: 13629 byte(s)
Diff to previous 43297
Fix coding convention R.RN7 (Avoid the raw C types 'long', 'unsigned long', 'long double', 'bool', 'long long' and 'unsigned long long'.)

Revision 43297 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 8 15:07:12 2012 UTC (2 years, 10 months ago) by pcanal
File length: 13633 byte(s)
Diff to previous 41070
avoid null pointer deref (cov 35892)

Revision 41070 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 30 12:15:22 2011 UTC (3 years, 3 months ago) by axel
File length: 13594 byte(s)
Diff to previous 35682
Keep a map of EDataType to TDataType* (an array, really) for quick access.
Move the creation of builtins' TDataType objects from TROOT to TDataType to populate that array.
Add remaining builtins to EDataType.
Implement TDictionary::GetDictionary(const type_info&), combining those for TDataType and TClass, just like TDictionary::GetDictionary(const char* name).

Revision 35682 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 23 16:07:59 2010 UTC (4 years, 4 months ago) by pcanal
File length: 11780 byte(s)
Diff to previous 35504
Fix Coverity reports about the use of strcpy, strcat and sprintf
#13133, #13318, #13421, #13422

Revision 35504 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 21 06:56:53 2010 UTC (4 years, 4 months ago) by brun
File length: 11880 byte(s)
Diff to previous 35478
Fix calls to strlcpy

Revision 35478 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 20 18:25:34 2010 UTC (4 years, 4 months ago) by brun
File length: 11880 byte(s)
Diff to previous 34913
Replace strncpy by strlcpy

Revision 34913 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 19:18:35 2010 UTC (4 years, 5 months ago) by pcanal
File length: 11880 byte(s)
Diff to previous 26606
Fix uninitialized data members (coverity)

Revision 26606 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 2 20:36:09 2008 UTC (6 years, 1 month ago) by pcanal
File length: 11817 byte(s)
Diff to previous 24077
Following Igor Smirnov analysis fix several memory leaks, add checks for null pointer dereference, fix or add copy constructor and assignment operator when applicable, make the copy constructor and assignment operator private when the objects are not intended to be copiable.

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: 11713 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: 11484 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/src/TDataType.cxx
File length: 11484 byte(s)
Diff to previous 20170
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 20170 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 2 09:02:20 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 11484 byte(s)
Diff to previous 19826
First batch of changes to support the new data type Float16_t.
For more info about Float16_t see TBufferFile::WriteFloat16.

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/src/TDataType.cxx
File length: 11277 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/src/TDataType.cxx
File length: 11329 byte(s)
Diff to previous 15168
remove :$ from tag line

Revision 15168 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 15:10:47 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 11339 byte(s)
Diff to previous 15134
Fix coding conventions violations

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 11274 byte(s)
Diff to previous 13258
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 13258 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 20:11:59 2005 UTC (9 years, 2 months ago) by pcanal
Original Path: trunk/meta/src/TDataType.cxx
File length: 10692 byte(s)
Diff to previous 12336
White spaces and comments update

Revision 12336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 18 15:56:41 2005 UTC (9 years, 6 months ago) by pcanal
Original Path: trunk/meta/src/TDataType.cxx
File length: 10689 byte(s)
Diff to previous 10979
Add support for the short form 'unsigned' to mean 'unsigned int' in the TDataType system

Revision 10979 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 25 07:24:16 2005 UTC (10 years ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 10505 byte(s)
Diff to previous 10958
From Philippe:
There was a missing TDataType object (needed by the new
TTree::CheckBranchAddress).

Revision 10958 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 19 18:30:58 2005 UTC (10 years ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 10230 byte(s)
Diff to previous 10909
From Philippe:
This patch implement support for bool of various in memory size.  They are
always written using only 1 bytes.  This solves problem on MacOS where
sizeof(bool)==4 instead of 1.

Note that there should still be a problem with the old-style splitted branch
(tested in Event.old.split.root.
A fix for this will come later on.

Revision 10909 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 12 20:04:36 2005 UTC (10 years ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 10201 byte(s)
Diff to previous 10898
From Philippe:
Fix compilation warnings on MAC (reported by Eddy)

Revision 10898 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 12 07:50:03 2005 UTC (10 years ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 10095 byte(s)
Diff to previous 10519
From Philippe:
A) Support for top level STL Containers.  You can now do
   list<int> *ptr = new list<int>;
   tree->Branch("mystl","list<int>",&ptr);

B) Autodetection of the pointer type passed to the branch constructor.
So you can now do:
   list<int> *ptr = new list<int>;
   tree->Branch("mystl",&ptr);

C) Check of the type of the pointer type passed to the branch constructor.
So that you now get an error:
   list<int> *ptr = new list<int>;
   tree->Branch("mystl","list<float>",&ptr);

Error in <TTree::Branch>: The class requested (list<float>) for the branch
"mystl" is different from the type of the pointer passed (list<int>)

D) TTree's SetBranchAddress now also check its input address (unless the
user explicitly specify (char*) or (void*).

Test/Event and the tree tutorials have been updated to take advantage of the
new syntax.

Revision 10519 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 11 20:42:26 2004 UTC (10 years, 2 months ago) by rdm
Original Path: trunk/meta/src/TDataType.cxx
File length: 9360 byte(s)
Diff to previous 9621
AsString() was not correct for the "bool" type. obj->Dump() did not show
any value for booleans.

Revision 9621 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jul 30 01:16:17 2004 UTC (10 years, 5 months ago) by rdm
Original Path: trunk/meta/src/TDataType.cxx
File length: 9337 byte(s)
Diff to previous 8230
From Philippe:
Some TDataType objects hold a pointer to a G__TypedefInfo object.
This object holds a tagnum and typenum. The TDataType objects are
intentionally never deleted.

In some circunstance involving loading and unloading scripts and
library, CINT might renumber the class and the typedefs. The
net effect is that the G__TypedefInfo held by the TDataType are
then invalid. (Potentially leading to core dumps).

This patch fixes the problem by verifying the validity of
the G__TypedefInfo object before using it.

Revision 8230 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 17:10:51 2004 UTC (10 years, 11 months ago) by rdm
Original Path: trunk/meta/src/TDataType.cxx
File length: 8159 byte(s)
Diff to previous 8223
use Long64_t instead of "long long" and "__int64", idem for ULong64_t.

Revision 8223 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 08:50:55 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 8398 byte(s)
Diff to previous 8222
The new version of TDataType::GetType did not compile under Windows.
Statements like typeid(unsigned long long) must be replaced by
typeid(unsigned __int64)

Revision 8222 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 18 07:28:02 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 8173 byte(s)
Diff to previous 8077
From Philippe:
This patch implements TTree::Draw for vector.  The current convention is the same
as for TClonesArray, namely after dereferencing a collection, the right hand of
the expression is request for the content and not for the container.

TBranchElement.cxx
        Make sure that a non-split branch containing an stl container contain
one leaf.

TVirtualCollectionProxy, TEmulatedVectorProxy, TVectorProxy
        Add the ability to retrieve the data type when it is a numerical type

TVectorProxy
        Fix some problem in the addressing caching mechanism

TClass.h
        Correct the ROOT::GetClass templates to properly return the TClass
object in case when the parameter is a pointer to pointer (or more).

TClassEdit.cxx:
        Avoid thinking that vector<xxx>::iterator is an stl container!

TTreeFormula.cxx
        Add support for stl container (actually ANY container which a
know TVirtualCollectionProxy).  Added TFormLeafInfoCollection and
TFormLeafInfoNumerical (non struct, non class container content).

Revision 8077 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 29 11:57:58 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 6583 byte(s)
Diff to previous 8076
Replace non portable snprintf by strncpy

Revision 8076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 29 11:20:12 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 6625 byte(s)
Diff to previous 7804
Add several protections when processing keys with very long names
or inspecting objects with very long names or titles

Revision 7804 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 26 18:38:21 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 6612 byte(s)
Diff to previous 6433
Implement a new data type Double32_t (in Rtypes.h).
In memory a Double32_t is like a Double_t (8 bytes).
When written to a file, the type is converted to a Float 4 bytes.
The newdata type is accepted as a simple variable, as a fixed length array
or a variable length array, like:
  Double32_t  fPt:
  Double32_t  fVertex[3];
  Int_t       fNtracks;
  Double32_t *fPx;  //[fNtracks]

The new data type is supported in all I/O modes (TKey or TTree)

The automatic schema evolution algorithm accepts this new type.
For example a class in a file containing a Double_t data member
can be read by a new class where the member is now of type Double32_t
and vice-versa.

Revision 6433 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Apr 13 17:38:40 2003 UTC (11 years, 9 months ago) by rdm
Original Path: trunk/meta/src/TDataType.cxx
File length: 6529 byte(s)
Diff to previous 6421
fix Win32 compiling problems related to long long (which on Win32 is __int64).

Revision 6421 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:48:11 2003 UTC (11 years, 9 months ago) by rdm
Original Path: trunk/meta/src/TDataType.cxx
File length: 6540 byte(s)
Diff to previous 5664
Big (unsigned) long long support patch. Following provided:
- basic typedefs in Rtypes.h: Long64_t and ULong64_t
- basic Long64 I/O support in TBuffer
- automatic Long64 I/O support in TStreamerInfo
- Long64 byteswap in Bytes.h
- Long64 type handling in classes like TDataMember, TDataType, TCint,
  TROOT, etc
- Removal of obsolete Long64_t typedefs in many PROOF classes
No changes for non-Long64 data types (no backward incompatibilies).
I/O tested for Long64 basic type, and static and dynamic arrays using
handcoded streamers, rootcint generated streamers and automatic StreamerInfo
streamers.

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/src/TDataType.cxx
File length: 6133 byte(s)
Diff to previous 4072
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 4072 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 23 15:45:05 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 6993 byte(s)
Diff to previous 4069
Add kBool_t in TDataType.h. Note that kBool_t = kUchar_t=11;
Add support for bool type in TDataType::AsString

Revision 4069 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Feb 23 09:45:25 2002 UTC (12 years, 11 months ago) by brun
Original Path: trunk/meta/src/TDataType.cxx
File length: 6908 byte(s)
Diff to previous 1205
Add support for fundamental type bool in functions:
  TDataType::setType
  TROOT::GetListOfTypes

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/src/TDataType.cxx
File length: 6817 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/src/TDataType.cxx
File length: 6742 byte(s)
Copied from: branches/rdm/meta/src/TDataType.cxx 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/src/TDataType.cxx
File length: 6742 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