Go to the documentation of this file.00001 #ifndef Variable_H
00002 #define Variable_H
00003
00004
00005 #include <vector>
00006 #include <string>
00007 #include "MOMDP.h"
00008 #include "MObject.h"
00009 #include "IVariableValue.h"
00010 #include "VariableValue.h"
00011 #include "IVariable.h"
00012 using namespace std;
00013 using namespace momdp;
00014
00015 namespace momdp
00016 {
00017
00018 class Variable : public IVariable
00019 {
00020 private:
00021 string variableName;
00022 vector<SharedPointer<VariableValue> > values;
00023
00024 public:
00025 Variable(string name);
00026 virtual ~Variable(void);
00027
00028 virtual void addValue(SharedPointer<VariableValue> value);
00029 virtual SharedPointer<IVariableValue> getValueByName(string valName);
00030 virtual void addValue(string value, double initialProb = 0.0);
00031 virtual string getVariableName();
00032 virtual vector<SharedPointer<IVariableValue> > getInitialValues();
00033 virtual int getNumValues();
00034
00035 virtual vector<SharedPointer<IVariableValue> > getValues();
00036 };
00037
00038 }
00039
00040 #endif
00041