13template<
typename ValueType>
15 using DFTElementPointer = std::shared_ptr<DFTElement<ValueType>>;
16 using DFTElementVector = std::vector<DFTElementPointer>;
59 for (
auto const& elem : this->
children()) {
60 if (!elem->isBasicElement()) {
Abstract base class for a DFT element with children.
DFTElementVector const & children() const
Get children.
virtual size_t id() const
Get id.
virtual std::string const & name() const
Get name.
Abstract base class for restrictions.
bool allChildrenBEs() const
Returns whether all children are BEs.
virtual bool isMutex() const
Return whether the restriction is a mutex.
virtual bool isSeqEnforcer() const
Return whether the restriction is a sequence enforcer.
bool checkDontCareAnymore(storm::dft::storage::DFTState< ValueType > &, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &) const override
bool isRestriction() const override
Check whether the element is a restriction.
void extendSpareModule(std::set< size_t > &) const override
void failsafe(storm::dft::storage::DFTState< ValueType > &, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &) const override
virtual ~DFTRestriction()=default
Destructor.
DFTRestriction(size_t id, std::string const &name, DFTElementVector const &children)
Constructor.
void fail(storm::dft::storage::DFTState< ValueType > &state, storm::dft::storage::DFTStateSpaceGenerationQueues< ValueType > &) const override