ROOT  6.06/09
Reference Guide
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
TClassRef Class Reference

TClassRef is used to implement a permanent reference to a TClass object.

In particular this reference will change if and when the TClass object is regenerated. This regeneration usually happens when a library containing the described class is loaded after a file containing an instance of this class has been opened.

The references kept track of using an intrusive double linked list. The intrusive list is maintained by TClass::AddRef and TClass::RemoveRef. The 'start' of the list is held in TClass::fRefStart.

Definition at line 33 of file TClassRef.h.

Public Member Functions

 TClassRef ()
 
 TClassRef (TClass *cl)
 Add reference to specified class object. More...
 
 TClassRef (const char *classname)
 Create reference to specified class name, but don't set referenced class object. More...
 
 TClassRef (const TClassRef &)
 Copy ctor, increases reference count to original TClass object. More...
 
TClassRefoperator= (const TClassRef &rhs)
 
TClassRefoperator= (TClass *rhs)
 
 ~TClassRef ()
 
void SetName (const char *new_name)
 
const char * GetClassName ()
 
TClassGetClass () const
 
void Reset ()
 
TClassoperator-> () const
 
 operator TClass * () const
 

Private Member Functions

void Assign (const TClassRef &)
 Assignment operator implementation, increases reference count to original class object. More...
 
void Assign (TClass *)
 Assignment operator, increases reference count to original class object. More...
 
TClassInternalGetClass () const
 Return the current TClass object corresponding to fClassName. More...
 

Private Attributes

std::string fClassName
 
TClass *const * fClassPtr
 

Friends

class TClass
 Ptr to the permanent TClass ptr/reference. More...
 

#include <TClassRef.h>

+ Collaboration diagram for TClassRef:

Constructor & Destructor Documentation

TClassRef::TClassRef ( )
inline

Definition at line 49 of file TClassRef.h.

TClassRef::TClassRef ( TClass cl)

Add reference to specified class object.

Definition at line 47 of file TClassRef.cxx.

TClassRef::TClassRef ( const char *  classname)

Create reference to specified class name, but don't set referenced class object.

Definition at line 39 of file TClassRef.cxx.

TClassRef::TClassRef ( const TClassRef org)

Copy ctor, increases reference count to original TClass object.

Definition at line 30 of file TClassRef.cxx.

TClassRef::~TClassRef ( )
inline

Definition at line 68 of file TClassRef.h.

Member Function Documentation

void TClassRef::Assign ( const TClassRef rhs)
private

Assignment operator implementation, increases reference count to original class object.

This routines assumes that the copy actually need to be done.

Definition at line 59 of file TClassRef.cxx.

Referenced by operator=().

void TClassRef::Assign ( TClass rhs)
private

Assignment operator, increases reference count to original class object.

This routines assumes that the copy actually need to be done.

Definition at line 69 of file TClassRef.cxx.

TClass* TClassRef::GetClass ( ) const
inline
const char* TClassRef::GetClassName ( )
inline
TClass * TClassRef::InternalGetClass ( ) const
private

Return the current TClass object corresponding to fClassName.

Definition at line 83 of file TClassRef.cxx.

Referenced by GetClass(), operator TClass *(), and operator->().

TClassRef::operator TClass * ( ) const
inline

Definition at line 79 of file TClassRef.h.

TClass* TClassRef::operator-> ( ) const
inline

Definition at line 78 of file TClassRef.h.

TClassRef& TClassRef::operator= ( const TClassRef rhs)
inline

Definition at line 53 of file TClassRef.h.

TClassRef& TClassRef::operator= ( TClass rhs)
inline

Definition at line 60 of file TClassRef.h.

void TClassRef::Reset ( void  )
inline

Definition at line 76 of file TClassRef.h.

Referenced by TStreamerInfo::BuildOld(), and SetName().

void TClassRef::SetName ( const char *  new_name)
inline

Definition at line 70 of file TClassRef.h.

Referenced by TBranchElement::InitInfo().

Friends And Related Function Documentation

friend class TClass
friend

Ptr to the permanent TClass ptr/reference.

Definition at line 43 of file TClassRef.h.

Member Data Documentation

std::string TClassRef::fClassName
private

Definition at line 36 of file TClassRef.h.

Referenced by Assign(), InternalGetClass(), and TClassRef().

TClass* const* TClassRef::fClassPtr
private

Definition at line 40 of file TClassRef.h.

Referenced by Assign(), InternalGetClass(), operator=(), and TClassRef().


The documentation for this class was generated from the following files: