Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

DbiSimFlagAssociation.h

Go to the documentation of this file.
00001 
00002 #ifndef DBISIMFLAGASSOCIATION
00003 #define DBISIMFLAGASSOCIATION
00004 
00027 #include <iosfwd>
00028 using std::ostream;
00029 #include <list>
00030 using std::list;
00031 #include <map>
00032 using std::map;
00033 
00034 #include "Conventions/SimFlag.h"
00035 
00036 class DbiSimFlagAssociation;
00037 class Registry;
00038 
00039 ostream& operator<<(ostream& s, const DbiSimFlagAssociation& simFlagAss);
00040    
00041 class DbiSimFlagAssociation
00042 {
00043 
00044 
00045 public:
00046 
00047 // Typedefs for tired fingers.
00048   typedef list<SimFlag::SimFlag_t>           SimList_t;
00049   typedef map<SimFlag::SimFlag_t,SimList_t > SimMap_t;
00050 
00051 // Constructors and destructors.
00052            DbiSimFlagAssociation();
00053   virtual ~DbiSimFlagAssociation();
00054 
00055 // State testing member functions
00056 
00057   SimList_t Get(const SimFlag::SimFlag_t value)const;
00058                       void Print(ostream& s)const;
00059                       void Show();
00060 
00062   static const DbiSimFlagAssociation& Instance();
00063 
00064 // State changing member functions.
00065 
00066   void Clear() { fAssociations.clear(); }
00067   void Set(const SimFlag::SimFlag_t value, SimList_t list) {
00068                                           fAssociations[value] = list; }
00069   void Set(Registry& reg);
00070 
00071 private:  
00072 
00074   static const DbiSimFlagAssociation* fgInstance;
00075 
00076 // Data members
00077 
00078  SimMap_t fAssociations;
00079 
00080  ClassDef(DbiSimFlagAssociation,0)  // Association between SimFlag types.
00081 
00082 };
00083 
00084 
00085 #endif // DBISIMFLAGASSOCIATION

Generated on Mon Feb 15 11:06:34 2010 for loon by  doxygen 1.3.9.1