Made AxiomRule a proper class.

This commit is contained in:
2016-05-22 15:00:54 +02:00
parent 9fce86ffaf
commit 37af6d5127
5 changed files with 103 additions and 41 deletions

View File

@@ -17,18 +17,29 @@ namespace sas
//
////////////////////////////////////////////////////////////////////////////////////////////////////
struct AxiomRule;
class AxiomRule;
using AxiomRules = std::vector<AxiomRule>;
////////////////////////////////////////////////////////////////////////////////////////////////////
struct AxiomRule
class AxiomRule
{
using Condition = AssignedVariable;
using Conditions = AssignedVariables;
public:
using Condition = AssignedVariable;
using Conditions = AssignedVariables;
Conditions conditions;
Condition postcondition;
static AxiomRule fromSAS(std::istream &istream, const Variables &variables);
public:
const Conditions &conditions() const;
const Condition &postcondition() const;
private:
AxiomRule() = default;
AxiomRule(Conditions conditions, Condition postcondition);
Conditions m_conditions;
Condition m_postcondition;
};
////////////////////////////////////////////////////////////////////////////////////////////////////