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.
~TClassRef() | |
TClass* | GetClass() const |
const char* | GetClassName() |
TClass* | operator TClass *() const |
TClass* | operator->() const |
TClassRef& | operator=(const TClassRef& rhs) |
TClassRef& | operator=(TClass* rhs) |
void | Reset() |
void | SetName(const char* new_name) |
TClassRef() | |
TClassRef(TClass* cl) | |
TClassRef(const char* classname) | |
TClassRef(const TClassRef&) |
string | fClassName | Name of referenced class |
TClass*const* | fClassPtr | ! Ptr to the permanent TClass ptr/reference |
Create reference to specified class name, but don't set referenced class object.
Assignment operator implementation, increases reference count to original class object. This routines assumes that the copy actually need to be done.
Assignment operator, increases reference count to original class object. This routines assumes that the copy actually need to be done.
Inline implementation of operator= to speed the no-op case.