Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ComponentUtility.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace storm {
7namespace modelchecker {
8namespace helper {
9namespace internal {
10
12// BSCCS:
14 return element;
15}
16inline constexpr uint64_t getComponentElementChoiceCount(typename storm::storage::StronglyConnectedComponent::value_type const& /*element*/) {
17 return 1;
18} // Assumes deterministic model!
20 return &element;
21}
23 return &element + 1;
24}
26 return element == choice;
27}
28// MECS:
29inline uint64_t getComponentElementState(typename storm::storage::MaximalEndComponent::map_type::value_type const& element) {
30 return element.first;
31}
32inline uint64_t getComponentElementChoiceCount(typename storm::storage::MaximalEndComponent::map_type::value_type const& element) {
33 return element.second.size();
34}
35inline typename storm::storage::MaximalEndComponent::set_type::const_iterator getComponentElementChoicesBegin(
36 typename storm::storage::MaximalEndComponent::map_type::value_type const& element) {
37 return element.second.begin();
38}
39inline typename storm::storage::MaximalEndComponent::set_type::const_iterator getComponentElementChoicesEnd(
40 typename storm::storage::MaximalEndComponent::map_type::value_type const& element) {
41 return element.second.end();
42}
43inline bool componentElementChoicesContains(storm::storage::MaximalEndComponent::map_type::value_type const& element, uint64_t choice) {
44 return element.second.count(choice) > 0;
45}
46} // namespace internal
47} // namespace helper
48} // namespace modelchecker
49} // namespace storm
container_type::value_type value_type
Definition StateBlock.h:23
bool componentElementChoicesContains(typename storm::storage::StronglyConnectedComponent::value_type const &element, uint64_t choice)
uint64_t getComponentElementState(typename storm::storage::StronglyConnectedComponent::value_type const &element)
Auxiliary functions that deal with the different kinds of components (MECs on potentially nondetermin...
uint64_t const * getComponentElementChoicesEnd(typename storm::storage::StronglyConnectedComponent::value_type const &element)
constexpr uint64_t getComponentElementChoiceCount(typename storm::storage::StronglyConnectedComponent::value_type const &)
uint64_t const * getComponentElementChoicesBegin(typename storm::storage::StronglyConnectedComponent::value_type const &element)
LabParser.cpp.
Definition cli.cpp:18