00001 #ifndef _Q_LIST_MEMBERS_HH_ 00002 #define _Q_LIST_MEMBERS_HH_ 00003 00023 #include <TMemberInspector.h> 00024 #include <map> 00025 #include <string> 00026 #include <TDataType.h> 00027 #include <iostream> 00028 00029 00030 class QListMembers : public TMemberInspector 00031 { 00032 public: 00033 class Info { 00034 public: 00035 Info() : fAddress(0), fBranchType(""), fTypeName(""), fStringValue("") { } 00036 00037 const void* fAddress; 00038 std::string fBranchType; 00039 std::string fTypeName; 00040 std::string fStringValue; 00041 }; 00042 00043 QListMembers() { } 00044 00045 void Inspect(TClass *cl, const char *parent, const char *name, const void *addr); 00046 00047 std::map<std::string,Info> Get() { return fMembersList; } 00048 00049 void Dump(); 00050 00051 static std::string TypeToBranchType(EDataType mtypes); 00052 00053 private: 00054 00055 std::map<std::string,Info> fMembersList; 00056 }; 00057 00058 #endif