Log of /trunk/core/meta/inc/TDataType.h
Parent Directory
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: 3052 byte(s)
Diff to
previous 24077
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
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: 2782 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: 2896 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
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/inc/TDataType.h
File length: 2898 byte(s)
Diff to
previous 15017
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
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/inc/TDataType.h
File length: 2811 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
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/inc/TDataType.h
File length: 2716 byte(s)
Diff to
previous 9636
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
9636 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 30 19:09:52 2004 UTC (10 years, 5 months ago) by
brun
Original Path:
trunk/meta/inc/TDataType.h
File length: 2664 byte(s)
Diff to
previous 9621
From Philippe:
This patch change TMath from a class to a namespace.
This patch also updates rootcint to that it force the
creation of a TClass for namepaces. The TClass for
namespace is needed to allow THtml and the command
completion mechanism to properly work.
This patch also add the new macro
NamespaceImp(namespacename)
which register an implementation file for the namespace.
This patch also update THtml to clean up the output for namespaces.
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/inc/TDataType.h
File length: 2552 byte(s)
Diff to
previous 8222
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
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/inc/TDataType.h
File length: 2493 byte(s)
Diff to
previous 7804
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
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/inc/TDataType.h
File length: 2417 byte(s)
Diff to
previous 6421
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
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/inc/TDataType.h
File length: 2393 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/inc/TDataType.h
File length: 2349 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
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/TDataType.h
File length: 2543 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.
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.