patrick
/
plasp
Archived
1
0
Fork 0
This repository has been archived on 2023-07-19. You can view files and clone it, but cannot push or open issues or pull requests.
plasp/include/plasp/sas/VariableTransition.h

50 lines
1.1 KiB
C++

#ifndef __PLASP__SAS__VARIABLE_TRANSITION_H
#define __PLASP__SAS__VARIABLE_TRANSITION_H
#include <iosfwd>
#include <plasp/input/Parser.h>
#include <plasp/sas/Value.h>
#include <plasp/sas/Variable.h>
namespace plasp
{
namespace sas
{
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// VariableTransition
//
////////////////////////////////////////////////////////////////////////////////////////////////////
class VariableTransition;
using VariableTransitions = std::vector<VariableTransition>;
////////////////////////////////////////////////////////////////////////////////////////////////////
class VariableTransition
{
public:
static VariableTransition fromSAS(input::Parser<> &parser, const Variables &variables);
public:
const Variable &variable() const;
const Value &valueBefore() const;
const Value &valueAfter() const;
private:
VariableTransition();
const Variable *m_variable;
const Value *m_valueBefore;
const Value *m_valueAfter;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
#endif