QAliases.hh

Go to the documentation of this file.
00001 #ifndef _Q_ALIASES_HH_
00002 #define _Q_ALIASES_HH_
00003 
00015 #include <map>
00016 #include <string>
00017 #include "QCuore.hh"
00018 
00019 Q_BEGIN_NAMESPACE
00020 
00021 class QAliases {
00022         
00023                 
00024         public:
00026         static QAliases& GetInstance();
00036         void Add(const std::string& ShortName, const std::string& useAs, const void* obj);
00037             
00038                 ~QAliases();
00039 
00040         struct CatMember {
00041             std::string Default;
00042             const void** Address;
00043         };
00044 
00045         struct AliasMember {
00046             std::string shortName;
00047             std::string category;
00048             const void* obj;
00049         };
00051         const std::map<std::string, AliasMember>& GetAliases() { return fShortNameMap;}
00053         const std::map<std::string,  CatMember>& GetCategories() { return fCategories;}
00054         std::string Dump();
00055     private:
00063         void AddCategory(const std::string& cat, const std::string& defVal, const void** obj);
00064                 QAliases();
00065         
00066         std::map<std::string, AliasMember> fShortNameMap;
00067         std::map<std::string, CatMember> fCategories; 
00068 
00069         friend class QDefaultsData;
00070 };
00071 
00072 Q_END_NAMESPACE
00073 
00074 
00075 #endif

Generated on Tue Nov 16 10:49:56 2010 for CUORE Software by  doxygen 1.5.6