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