Var: replace struct by a pair
This commit is contained in:
		| @@ -5,7 +5,7 @@ | |||||||
|  |  | ||||||
| namespace Horus { | namespace Horus { | ||||||
|  |  | ||||||
| std::unordered_map<VarId, VarInfo> Var::varsInfo_; | std::unordered_map<VarId, Var::VarInfo> Var::varsInfo_; | ||||||
|  |  | ||||||
|  |  | ||||||
| Var::Var (const Var* v) | Var::Var (const Var* v) | ||||||
| @@ -51,7 +51,8 @@ std::string | |||||||
| Var::label() const | Var::label() const | ||||||
| { | { | ||||||
|   if (Var::varsHaveInfo()) { |   if (Var::varsHaveInfo()) { | ||||||
|     return Var::getVarInfo (varId_).label; |     assert (Util::contains (varsInfo_, varId_)); | ||||||
|  |     return varsInfo_.find (varId_)->second.first; | ||||||
|   } |   } | ||||||
|   std::stringstream ss; |   std::stringstream ss; | ||||||
|   ss << "x" << varId_; |   ss << "x" << varId_; | ||||||
| @@ -64,7 +65,8 @@ States | |||||||
| Var::states() const | Var::states() const | ||||||
| { | { | ||||||
|   if (Var::varsHaveInfo()) { |   if (Var::varsHaveInfo()) { | ||||||
|     return Var::getVarInfo (varId_).states; |     assert (Util::contains (varsInfo_, varId_)); | ||||||
|  |     return varsInfo_.find (varId_)->second.second; | ||||||
|   } |   } | ||||||
|   States states; |   States states; | ||||||
|   for (unsigned i = 0; i < range_; i++) { |   for (unsigned i = 0; i < range_; i++) { | ||||||
| @@ -87,15 +89,6 @@ Var::addVarInfo ( | |||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| VarInfo |  | ||||||
| Var::getVarInfo (VarId vid) |  | ||||||
| { |  | ||||||
|   assert (Util::contains (varsInfo_, vid)); |  | ||||||
|   return varsInfo_.find (vid)->second; |  | ||||||
| } |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| bool | bool | ||||||
| Var::varsHaveInfo() | Var::varsHaveInfo() | ||||||
| { | { | ||||||
|   | |||||||
| @@ -12,19 +12,11 @@ | |||||||
|  |  | ||||||
| namespace Horus { | namespace Horus { | ||||||
|  |  | ||||||
| struct VarInfo { |  | ||||||
|   VarInfo (std::string l, const States& sts) |  | ||||||
|       : label(l), states(sts) { } |  | ||||||
|   std::string label; |  | ||||||
|   States states; |  | ||||||
| }; |  | ||||||
|  |  | ||||||
|  |  | ||||||
| class Var { | class Var { | ||||||
|   public: |   public: | ||||||
|     Var (const Var*); |     Var (const Var*); | ||||||
|  |  | ||||||
|     Var (VarId, unsigned, int = Constants::unobserved); |     Var (VarId, unsigned range, int evidence = Constants::unobserved); | ||||||
|  |  | ||||||
|     virtual ~Var() { }; |     virtual ~Var() { }; | ||||||
|  |  | ||||||
| @@ -57,13 +49,13 @@ class Var { | |||||||
|     static void addVarInfo ( |     static void addVarInfo ( | ||||||
|         VarId vid, std::string label, const States& states); |         VarId vid, std::string label, const States& states); | ||||||
|  |  | ||||||
|     static VarInfo getVarInfo (VarId vid); |  | ||||||
|  |  | ||||||
|     static bool varsHaveInfo(); |     static bool varsHaveInfo(); | ||||||
|  |  | ||||||
|     static void clearVarsInfo(); |     static void clearVarsInfo(); | ||||||
|  |  | ||||||
|   private: |   private: | ||||||
|  |     typedef std::pair<std::string, States> VarInfo; | ||||||
|  |  | ||||||
|     VarId     varId_; |     VarId     varId_; | ||||||
|     unsigned  range_; |     unsigned  range_; | ||||||
|     int       evidence_; |     int       evidence_; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user