You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

47 lines
1.6 KiB

#ifndef STORM_STORAGE_STRONGLYCONNECTEDCOMPONENT_H_
#define STORM_STORAGE_STRONGLYCONNECTEDCOMPONENT_H_
#include "storm/storage/StateBlock.h"
#include "storm/storage/Decomposition.h"
#include "storm/utility/OsDetection.h"
namespace storm {
namespace storage {
/*!
* This class represents a strongly connected component, i.e., a set of states such that every state can reach
* every other state.
*/
class StronglyConnectedComponent : public StateBlock {
public:
StronglyConnectedComponent();
StronglyConnectedComponent(StronglyConnectedComponent const& other) = default;
#ifndef WINDOWS
StronglyConnectedComponent(StronglyConnectedComponent&& other) = default;
StronglyConnectedComponent& operator=(StronglyConnectedComponent const& other) = default;
StronglyConnectedComponent& operator=(StronglyConnectedComponent&& other) = default;
#endif
/*!
* Sets whether this SCC is trivial or not.
*
* @param trivial A flag indicating whether this SCC is trivial or not.
*/
void setIsTrivial(bool trivial);
/*!
* Retrieves whether this SCC is trivial.
*
* @return True iff this SCC is trivial.
*/
bool isTrivial() const;
private:
// Stores whether this SCC is trivial.
bool isTrivialScc;
};
}
}
#endif /* STORM_STORAGE_STRONGLYCONNECTEDCOMPONENT_H_ */