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/MutexGroup.h

49 lines
991 B
C++

#ifndef __PLASP__SAS__MUTEX_GROUP_H
#define __PLASP__SAS__MUTEX_GROUP_H
#include <vector>
#include <tokenize/Tokenizer.h>
#include <plasp/sas/AssignedVariable.h>
namespace plasp
{
namespace sas
{
////////////////////////////////////////////////////////////////////////////////////////////////////
//
// MutexGroup
//
////////////////////////////////////////////////////////////////////////////////////////////////////
class MutexGroup;
using MutexGroups = std::vector<MutexGroup>;
////////////////////////////////////////////////////////////////////////////////////////////////////
class MutexGroup
{
public:
using Fact = AssignedVariable;
using Facts = AssignedVariables;
static MutexGroup fromSAS(tokenize::Tokenizer<> &tokenizer, const Variables &variables);
public:
const Facts &facts() const;
private:
MutexGroup() = default;
Facts m_facts;
};
////////////////////////////////////////////////////////////////////////////////////////////////////
}
}
#endif