52 lines
995 B
C
52 lines
995 B
C
|
#ifndef __SAS__VARIABLE_H
|
||
|
#define __SAS__VARIABLE_H
|
||
|
|
||
|
#include <string>
|
||
|
#include <vector>
|
||
|
|
||
|
#include <plasp/sas/Value.h>
|
||
|
|
||
|
namespace plasp
|
||
|
{
|
||
|
namespace sas
|
||
|
{
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
//
|
||
|
// Variable
|
||
|
//
|
||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
struct Variable
|
||
|
{
|
||
|
using Values = std::vector<Value>;
|
||
|
|
||
|
std::string name;
|
||
|
int axiomLayer;
|
||
|
Values values;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
struct AssignedVariable
|
||
|
{
|
||
|
const Variable &variable;
|
||
|
const Value &value;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
struct VariableTransition
|
||
|
{
|
||
|
const Variable &variable;
|
||
|
const Value &valueBefore;
|
||
|
const Value &valueAfter;
|
||
|
};
|
||
|
|
||
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||
|
|
||
|
}
|
||
|
}
|
||
|
|
||
|
#endif
|