ROOT logo
ROOT » CORE » BASE » TMemberInspector

class TMemberInspector


TMemberInspector

Abstract base class for accessing the datamembers of a class.
Classes derived from this class can be given as argument to the
ShowMembers() methods of ROOT classes. This feature facilitates
the writing of class browsers and inspectors.


Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~TMemberInspector()
voidAddToParent(const char* name)
static TClass*Class()
voidGenericShowMembers(const char* topClassName, void* obj, Bool_t transientMember)
const char*GetParent() const
Ssiz_tGetParentLen() const
virtual voidInspect(TClass* cl, const char* parent, const char* name, const void* addr)
voidInspectMember(TObject& obj, const char* name)
voidInspectMember(TClass* cl, void* pobj, const char* name)
voidInspectMember(const char* topclassname, void* pobj, const char* name, Bool_t transient)
virtual TClass*IsA() const
TMemberInspector&operator=(const TMemberInspector&)
voidRemoveFromParent(Ssiz_t startingAt)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

private:
TMemberInspector::TParentBuf*fParentcurrent inspection "path"

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

~TMemberInspector()
 Destruct a member inspector
const char* GetParent() const
 Get the parent string.
Ssiz_t GetParentLen() const
 Get the length of the parent string.
void AddToParent(const char* name)
 Append "name" to the parent string.
void RemoveFromParent(Ssiz_t startingAt)
 Remove trailing characters starting at "startingAt".
void GenericShowMembers(const char* topClassName, void* obj, Bool_t transientMember)
 Call ShowMember() on obj.
 This could be faster if we implemented this either as a templated
 function or by rootcint-generated code using the typeid (i.e. the
 difference is a lookup in a TList instead of in a map).
 To avoid a spurrious error message in case the data member is
 transient and does not have a dictionary we check first.
void InspectMember(TObject& obj, const char* name)
void InspectMember(const char* topclassname, void* pobj, const char* name, Bool_t transient)
void InspectMember(TClass* cl, void* pobj, const char* name)
void Inspect(TClass* cl, const char* parent, const char* name, const void* addr)
obj. ShowMembers(TMemberInspector& insp)