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
int type
Definition: TGX11.cxx:121
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:68
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.