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() | |
| TClassRef(TClass* cl) | |
| TClassRef(const char* classname) | |
| TClassRef(const TClassRef&) | |
| ~TClassRef() | |
| TClass* | GetClass() const |
| const char* | GetClassName() |
| TClass* | operator TClass*() const |
| TClass* | operator->() const |
| TClassRef& | operator=(const TClassRef&) |
| TClassRef& | operator=(TClass*) |
| void | Reset() |
| void | SetName(const char* new_name) |
| TClass* | InternalGetClass() const |
| void | ListReset() |

Create reference to specified class name, but don't set referenced class object.
Assignment operator, increases reference count to original class object.
Assignment operator, increases reference count to original class object.