[root] / trunk / core / cont / inc / TCollection.h Repository:
ViewVC logotype

Log of /trunk/core/cont/inc/TCollection.h

Parent Directory Parent Directory


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

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 23536 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 24 19:39:05 2008 UTC (6 years, 9 months ago) by rdm
File length: 7885 byte(s)
Diff to previous 23503
revert the std::string forward declaration, not allowed by the standard.

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 23022 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 7 15:51:20 2008 UTC (6 years, 9 months ago) by rdm
File length: 7166 byte(s)
Diff to previous 22961
remove deprecated ForEach macro.

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 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/cont/inc/TCollection.h
File length: 7598 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/cont/inc/TCollection.h
File length: 7598 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/cont/inc/TCollection.h
File length: 7650 byte(s)
Diff to previous 18020
remove :$ from tag line

Revision 18020 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 19 16:02:36 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 7660 byte(s)
Diff to previous 17996
Remove the exclusion of most functions from the CINT interface

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 15951 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 8 17:02:26 2006 UTC (8 years, 5 months ago) by rdm
Original Path: trunk/cont/inc/TCollection.h
File length: 7660 byte(s)
Diff to previous 15950
Some corrections to Fed's copy and assignment operators.

Revision 15950 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 8 16:02:44 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 7490 byte(s)
Diff to previous 15849
From Federico:
Implement more copy constructors for the collection classes
such that copy constructors of classes embedding ROOT collections
can be implemented.

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 15011 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 12 12:25:45 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 7669 byte(s)
Diff to previous 14745
From Federico Carminati:
More changes to support the gcc effc++ option

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 12556 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 30 02:45:05 2005 UTC (9 years, 4 months ago) by pcanal
Original Path: trunk/cont/inc/TCollection.h
File length: 7264 byte(s)
Diff to previous 12128
Changes to make the rulechecker happy in directory cont
They are a few left.

Revision 12128 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 23 06:24:27 2005 UTC (9 years, 7 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 7264 byte(s)
Diff to previous 12123
From Constantin Loizides
Use global Mutex instead of class static member

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 6127 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 14 08:23:14 2003 UTC (11 years, 11 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 6800 byte(s)
Diff to previous 5022
make argument of TCollection::AddAll const (thanks Jiri Masik)

Revision 5022 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 29 09:22:29 2002 UTC (12 years, 5 months ago) by rdm
Original Path: trunk/cont/inc/TCollection.h
File length: 6794 byte(s)
Diff to previous 4692
made argument of GetObjectRef() a const TObject*. Idem for TMap::GetValue().
Suggestion by Axel.

Revision 4692 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 12 16:46:12 2002 UTC (12 years, 7 months ago) by rdm
Original Path: trunk/cont/inc/TCollection.h
File length: 6787 byte(s)
Diff to previous 2528
major improvements in TGListTree by Valeriy Onuchin. The TGListTree can
now display >100k's of items in a very efficient way. This is used now
in the ROOT browser.

Revision 2528 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 5 16:50:50 2001 UTC (13 years, 6 months ago) by rdm
Original Path: trunk/cont/inc/TCollection.h
File length: 6788 byte(s)
Diff to previous 1872
placed some methods in alphabetical order.

Revision 1872 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 29 11:25:00 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 6788 byte(s)
Diff to previous 1865
Forgot to make GetObjectRef const.

Revision 1865 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 29 10:51:51 2001 UTC (13 years, 9 months ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 6782 byte(s)
Diff to previous 1207
Add new function GetObjectRef returning the address of the pointer to an object.
Function GetName moved to the implementation file. If a collection has an empty name,
it returns the collection class name.

Revision 1207 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 13 15:56:17 2000 UTC (14 years, 1 month ago) by brun
Original Path: trunk/cont/inc/TCollection.h
File length: 6752 byte(s)
Diff to previous 1205
Forgot to update the Dump, ls and Print of these classes.

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.

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/cont/inc/TCollection.h
File length: 6718 byte(s)
Copied from: branches/rdm/cont/inc/TCollection.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/cont/inc/TCollection.h
File length: 6718 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