Log of /trunk/core/cont/inc/TCollection.h
Parent Directory
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: 8357 byte(s)
Diff to
previous 37411
Fix coding convention R.RN7 (Avoid the raw C types 'long', 'unsigned long', 'long double', 'bool', 'long long' and 'unsigned long long'.)
Revision
37411 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Dec 8 17:42:11 2010 UTC (4 years, 1 month ago) by
pcanal
File length: 8357 byte(s)
Diff to
previous 25128
Since the Collection objects do have a name and the Clone method does allow (in other cases) for the name to change, add a TCollection::Clone to implement the name change properly
Revision
25128 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Aug 12 17:59:19 2008 UTC (6 years, 5 months ago) by
pcanal
File length: 8298 byte(s)
Diff to
previous 23536
From Matevz:
* TCollection:
Replace Print() methods
virtual void Print(Option_t *wildcard="") const;
virtual void Print(Option_t *wildcard, Option_t *option) const;
with --------------------------------------------------
virtual void Print(Option_t *option="") const;
virtual void Print(Option_t *option, Int_t recurse) const;
virtual void Print(Option_t *option, const char* wildcard,
Int_t recurse=1) const;
virtual void Print(Option_t *option, TPRegexp& regexp,
Int_t recurse=1) const;
Introduce three new protected methods used to print out collection details.
These are called from the Print() methods and make overriding of what
is printed for a collection / entries easier.
virtual void PrintCollectionHeader(Option_t* option) const;
virtual const char* GetCollectionEntryName(TObject* entry) const;
virtual void PrintCollectionEntry(TObject* entry, Option_t* option,
Int_t recurse) const;
* TMap:
Remove two overloaded Print() methods, implement protected
PrintCollectionEntry() instead.
* TQCommand, TQUndoManager, TQConnection, TQConnectionList
Remove overriden Print() methods. If needed, override
PrintCollectionHeader() or PrintCollectionEntry() instead.
* TAlienJobStatusList
Remove Print(), implement PrintCollectionEntry() instead.
* TAlienResult
Remove overloaded Print(wildcard, option) which no longer exists.
* test/tcollprint.cxx
New file - demonstrates behaviour of Print() methods for TList and TMap.
Revision
23503 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Apr 24 12:57:20 2008 UTC (6 years, 9 months ago) by
rdm
File length: 7977 byte(s)
Diff to
previous 23198
from Matevz:
forward-declared std::string in TString.h so that <string> does not have
to be included there. Reduces compilation time (as TString.h is included
often). Also avoid unexpected <string> inclusion.
Revision
23198 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Apr 14 09:23:08 2008 UTC (6 years, 9 months ago) by
rdm
File length: 7884 byte(s)
Diff to
previous 23022
From Anar and me:
The background is the following. While working on the PROOF code I found
that enumerating TList is an inconvenient and a long operation, I had to
write the same code all over the place and make duplications. I tried
to use STD algorithms with it, namely std::for_each, and failed.
I therefore decided to enable std::for_each algorithm for ROOT
Containers/Iterators by making as few as possible changes, without rewriting
iterators at all. Now with only two simple lines of code one is able to
iterate through a container:
TIter iter(&list);
for_each(iter.Begin(), TIter::End(), SEnumFunctor());
or
for_each(iter.Begin(), inter_end, SEnumFunctor());
where iter_end could be an iterator to a middle of the container.
After I had changed Iterators so that they could be used with std::for_each,
I decided to go further and did some more changes. As a result,
- I have updated CINT implementation of some algorithms (they look now
more or less better in terms of the standard),
- TList and TObjArray can be now used with std::for_each, std::find_if,
std::count_if (probably with some more algorithms. I've listed here
only what has been *checked* by me). Other containers will be supported
in a next patch.
- A test program has been added: $ROOTSYS/test/stressIterators.cxx
- A tutorial macro has been added: $ROOTSYS/tutorials/cont/TListAndSTL.C
Patch has been verified on Linux, MacOS X, Solaris 10 i386 and Windows.
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: 7598 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
17996 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Feb 18 14:56:42 2007 UTC (7 years, 11 months ago) by
brun
Original Path:
trunk/cont/inc/TCollection.h
File length: 7682 byte(s)
Diff to
previous 15951
For abstract interfaces, generate the CINT stub functions only for
the strict minimum of functions.
Keep only one pure function known to CINT such that CINT can
recognize that the class is abstract and has pure functions.
This optimization gains about one megabyte of generated code.
Revision
15849 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jul 26 13:36:44 2006 UTC (8 years, 6 months ago) by
rdm
Original Path:
trunk/cont/inc/TCollection.h
File length: 7660 byte(s)
Diff to
previous 15134
Instead of providing default implementations for copy ctor's and assignment
operators we better make them private (and not implemented) to avoid people
from accidentally using them. Especially the collections classes and the
TQObject derived classes. In these classes the default implementations would
cause havoc due to multiple deletions of the same objects and other
potential memory corruptions.
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/cont/inc/TCollection.h
File length: 7759 byte(s)
Diff to
previous 15011
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
14745 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Apr 19 08:22:26 2006 UTC (8 years, 9 months ago) by
rdm
Original Path:
trunk/cont/inc/TCollection.h
File length: 7655 byte(s)
Diff to
previous 14063
Change the TError.h macros:
Assert -> R__ASSERT
Check -> R__CHECK
Change the TCollection.h macro:
ForEach -> R__FOR_EACH
This to avoid potential problems due too trivial macro names.
The old macros will be removed in the next release. Currently
they will print out warning messages with the advice to move
to the new macro names.
Revision
14063 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Sun Feb 19 21:02:35 2006 UTC (8 years, 11 months ago) by
pcanal
Original Path:
trunk/cont/inc/TCollection.h
File length: 7215 byte(s)
Diff to
previous 12556
SetOwner is now a virtual function so that it can be customized.
A TClonesArray is always the owner of its content but it's base
class (TObjArray) is never the direct owner. Hence we need to
disable SetOwner for TClonesArray.
Revision
12123 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Jun 22 20:18:12 2005 UTC (9 years, 7 months ago) by
brun
Original Path:
trunk/cont/inc/TCollection.h
File length: 7287 byte(s)
Diff to
previous 11418
From Constantin Loizides
This patch implements:
- decentralized, automatic mutex initialization,
see R__LOCKGUARD2 in TVirtualMutex
- PROOF parallel startup fixes
- more thread protection (in base, cont, meta, rest to be done)
- cleanups
From Eddy Offermann:
TString::Atoi and Atof are made const.
Revision
11418 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Thu Mar 24 07:12:07 2005 UTC (9 years, 10 months ago) by
brun
Original Path:
trunk/cont/inc/TCollection.h
File length: 7202 byte(s)
Diff to
previous 10304
From Axel:
as you're probably aware, there is no common interface to get the number
of entries in collections. It's GetEntries() for all collections which
have a "reserved size", and GetSize() for all others.
The attached tiny patch introduces
virtual TCollection::GetEntries() { return GetSize();}
It returns GetSize() if GetEntries() is not re-implemented by the
derived class. It already is re-implemented for all classes for which
GetSize() returns something different than GetEntries(). Thus,
GetEntries() returns the number of entries for all collections.
Revision
10304 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed Oct 13 15:30:22 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/cont/inc/TCollection.h
File length: 7139 byte(s)
Diff to
previous 10282
add a new
Print(Option_t *wildcard, Option_t *option)
method which allows wildcarding and the passing of a dedicated option
for the Print() method of the objects in the container. The existing
TCollection::Print(Option_t *wildcard) does only allow the passing of
the wildcard to the Print() of the contained objects, and that is often
not what is desired.
Revision
10282 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Mon Oct 11 22:58:18 2004 UTC (10 years, 3 months ago) by
rdm
Original Path:
trunk/cont/inc/TCollection.h
File length: 7064 byte(s)
Diff to
previous 9619
implement Hash() for TCollections so that objects inheriting from
TCollection can be found by name in a THashList. Also implement Compare()
so that collection in a collection can be sorted by name. Suggested by
Kris Gulbrandsen.
Revision
9619 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Jul 30 01:12:28 2004 UTC (10 years, 5 months ago) by
rdm
Original Path:
trunk/cont/inc/TCollection.h
File length: 6889 byte(s)
Diff to
previous 6127
From Philippe:
This patch implements a const Write and keeps the existing non-const
Write. If somebody derived from TObject and overload Write(), they
will be reminded to implement the const version with a warning
similar to:
include/TCollection.h(45): warning #654: overloaded virtual function "TObject::Write" is only partially overridden in class "TCollection"
class TCollection : public TObject {
The implementation of the non-const Write is simple: call the const Write().
Exceptions are TFile and TDirectory which actually can only implement
non const Write (and hence const Write outputs an error message).
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/cont/inc/TCollection.h
File length: 6731 byte(s)
Diff to
previous 612
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
612 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Fri Sep 8 16:11:03 2000 UTC (14 years, 4 months ago) by
rdm
Original Path:
trunk/cont/inc/TCollection.h
File length: 6714 byte(s)
Diff to
previous 568
introduced the concept of ownership for all collections. By calling
TCollection::SetOwner() a collection becomes the owner of its elements.
In those cases the dtor and Clear() method will delete the items and not
just free the container space. Also all collections now make their
TObject part persistent (so the TObject bits are saved). Version numbers
were properly increased.
Revision
568 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Tue Sep 5 09:21:24 2000 UTC (14 years, 4 months ago) by
brun
Original Path:
trunk/cont/inc/TCollection.h
File length: 6778 byte(s)
Diff to
previous 42
The following headers and classes have been modified to take into account;
- the new signature of IsFolder (now const)
- the new TObject::FindObject
- the fact that the static functions of TObject have been moved to TROOT.
Revision
42 -
(
view)
(
download)
(
as text)
(
annotate)
-
[select for diffs]
Modified
Wed May 24 10:31:48 2000 UTC (14 years, 8 months ago) by
brun
Original Path:
trunk/cont/inc/TCollection.h
File length: 6775 byte(s)
Diff to
previous 3
- Change return type from void to Int_t for several read/write functions in several classes. The Read functions return the number of bytes read, the Write functions the number of bytes written.
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.