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
|