Variable.cpp
Go to the documentation of this file.
00001 #include "Variable.h"
00002 #include <exception>
00003 
00004 
00005 Variable::Variable(string name)
00006 {
00007         this->variableName = name;
00008 }
00009 
00010 Variable::~Variable(void)
00011 {
00012 }
00013 vector<SharedPointer<IVariableValue> > Variable::getValues()
00014 {
00015         vector<SharedPointer<IVariableValue> > result;
00016         for(int i = 0; i < values.size(); i++)
00017         {
00018                 result.push_back(values[i]);
00019         }
00020         return result;
00021 }
00022 
00023 void  Variable::addValue(SharedPointer<VariableValue> value)
00024 {
00025         values.push_back(value);
00026 }
00027 void  Variable::addValue(string value, double initialProb)
00028 {
00029         SharedPointer<VariableValue> newValue (new VariableValue(this->getVariableName(), value, values.size(), initialProb));
00030         addValue(newValue);
00031 }
00032 int Variable::getNumValues()
00033 {
00034         return values.size();
00035 }
00036 string Variable::getVariableName()
00037 {
00038         return variableName;
00039 }
00040 
00041 vector<SharedPointer<IVariableValue> > Variable::getInitialValues()
00042 {
00043         vector<SharedPointer<IVariableValue> > result;
00044         for(int i = 0; i < values.size(); i++)
00045         {
00046                 if(values[i]->getProb() > 0.0001)
00047                 {
00048                         result.push_back(values[i]);
00049                 }
00050         }
00051         return result;
00052 }
00053 
00054 SharedPointer<IVariableValue> Variable::getValueByName(string valName)
00055 {
00056         for(int i = 0; i < values.size(); i++)
00057         {
00058                 if(values[i]->getValueName().compare(valName) == 0)
00059                 {
00060                         return values[i];
00061                 }
00062         }
00063 
00064         throw runtime_error("Cannot find value : " + valName + " in variable : " + this->getVariableName());
00065 }
00066 


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:29