Logo ROOT  
Reference Guide
TCollection.h File Reference
#include "TObject.h"
#include "TIterator.h"
#include "TString.h"
#include "TVirtualRWMutex.h"
#include "ROOT/RRangeCast.hxx"
#include <cassert>
Include dependency graph for TCollection.h:
This graph shows which files directly or indirectly include this file:


class  TCollection
 Collection abstract base class. More...
class  TIter
class  TIterCategory< T >
class  ROOT::Detail::TRangeCast< T, isDynamic >


namespace  ROOT
 This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
namespace  ROOT::Detail
 Special implementation of ROOT::RRangeCast for TCollection, including a check that the cast target type inherits from TObject and a new constructor that takes the TCollection by pointer.
namespace  ROOT::Internal


#define R__COLLECTION_COLLECTION_READ_LOCKGUARD_NAMED(name, mutex)   (void)mutex
#define R__COLLECTION_ITER_GUARD(collection)
#define R__COLLECTION_READ_LOCKGUARD(mutex)   (void)mutex
#define R__COLLECTION_WRITE_LOCKGUARD(mutex)   (void)mutex
#define R__COLLECTION_WRITE_LOCKGUARD_NAMED(name, mutex)   (void)mutex
#define R__FOR_EACH(type, proc)


template<typename T >
using TRangeDynCast = ROOT::Detail::TRangeCast< T, true >
 TRangeDynCast is an adapter class that allows the typed iteration through a TCollection. More...
template<typename T >
using ROOT::Detail::TRangeStaticCast = TRangeCast< T, false >
 TRangeStaticCast is an adapter class that allows the typed iteration through a TCollection. More...


bool ROOT::Internal::ContaineeInheritsFrom (TClass *cl, TClass *base)
 Return true if 'cl' inherits from 'base'. More...
const TCollectionROOT::Internal::EmptyCollection ()
 Return an empty collection for use with nullptr TRangeCast. More...


R__EXTERN TVirtualMutexgCollectionMutex
const Bool_t kIterBackward = !kIterForward
const Bool_t kIterForward = kTRUE

Macro Definition Documentation


)    (void)mutex

Definition at line 374 of file TCollection.h.


#define R__COLLECTION_ITER_GUARD (   collection)

Definition at line 129 of file TCollection.h.



Definition at line 128 of file TCollection.h.


#define R__COLLECTION_READ_LOCKGUARD (   mutex)    (void)mutex

Definition at line 373 of file TCollection.h.



Definition at line 127 of file TCollection.h.


#define R__COLLECTION_WRITE_LOCKGUARD (   mutex)    (void)mutex

Definition at line 376 of file TCollection.h.


)    (void)mutex

Definition at line 377 of file TCollection.h.


#define R__FOR_EACH (   type,
SetCurrentCollection(); \
type *_NAME3_(obj_,type,proc); \
while ((_NAME3_(obj_,type,proc) = (type*) _NAME3_(nxt_,type,proc)())) \
#define _NAME3_(name1, name2, name3)
Definition: RConfig.hxx:455
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
static TCollection * GetCurrentCollection()
Return the globally accessible collection.

Definition at line 386 of file TCollection.h.

Typedef Documentation

◆ TRangeDynCast

template<typename T >
using TRangeDynCast = ROOT::Detail::TRangeCast<T, true>

TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.

The typical use is:

for(auto bcl : TRangeDynCast<TBaseClass>( *cl->GetListOfBases() )) {
if (!bcl) continue;
... use bcl as a TBaseClass*
for(auto bcl : TRangeDynCast<TBaseClass>( cl->GetListOfBases() )) {
if (!bcl) continue;
... use bcl as a TBaseClass*
Each class (see TClass) has a linked list of its base class(es).
Definition: TBaseClass.h:33
TString as(SEXP s)
Definition: RExports.h:86
auto * a
Definition: textangle.C:12
Template Parameters
TThe new type to convert to.

Definition at line 358 of file TCollection.h.

Variable Documentation

◆ gCollectionMutex

R__EXTERN TVirtualMutex* gCollectionMutex

Definition at line 45 of file TCollection.h.

◆ kIterBackward

const Bool_t kIterBackward = !kIterForward

Definition at line 43 of file TCollection.h.

◆ kIterForward

const Bool_t kIterForward = kTRUE

Definition at line 42 of file TCollection.h.