Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
ChoiceLabeling.h
Go to the documentation of this file.
1#pragma once
2
4
5namespace storm {
6namespace models {
7namespace sparse {
8
13 public:
19 ChoiceLabeling(uint_fast64_t choiceCount = 0);
20
21 ChoiceLabeling(ChoiceLabeling const& other) = default;
22 ChoiceLabeling(ItemLabeling const& other);
23 ChoiceLabeling(ItemLabeling const&& other);
24 ChoiceLabeling& operator=(ChoiceLabeling const& other) = default;
25
26 virtual bool isChoiceLabeling() const override;
27
34 bool operator==(ChoiceLabeling const& other) const;
35
42
49 std::set<std::string> getLabelsOfChoice(uint64_t choice) const;
50
57 void addLabelToChoice(std::string const& label, uint64_t choice);
58
66 bool getChoiceHasLabel(std::string const& label, uint64_t choice) const;
67
74 storm::storage::BitVector const& getChoices(std::string const& label) const;
75
82 void setChoices(std::string const& label, storage::BitVector const& labeling);
83
90 void setChoices(std::string const& label, storage::BitVector&& labeling);
91
92 friend std::ostream& operator<<(std::ostream& out, ChoiceLabeling const& labeling);
93};
94
95} // namespace sparse
96} // namespace models
97} // namespace storm
This class manages the labeling of the choice space with a number of (atomic) labels.
virtual bool isChoiceLabeling() const override
ChoiceLabeling & operator=(ChoiceLabeling const &other)=default
storm::storage::BitVector const & getChoices(std::string const &label) const
Returns the labeling of choices associated with the given label.
bool getChoiceHasLabel(std::string const &label, uint64_t choice) const
Checks whether a given choice is labeled with the given label.
void addLabelToChoice(std::string const &label, uint64_t choice)
Adds a label to a given choice.
ChoiceLabeling getSubLabeling(storm::storage::BitVector const &choices) const
Retrieves the sub labeling that represents the same labeling as the current one for all selected choi...
ChoiceLabeling(ChoiceLabeling const &other)=default
void setChoices(std::string const &label, storage::BitVector const &labeling)
Sets the labeling of choices associated with the given label.
std::set< std::string > getLabelsOfChoice(uint64_t choice) const
Retrieves the set of labels attached to the given choice.
friend std::ostream & operator<<(std::ostream &out, ChoiceLabeling const &labeling)
bool operator==(ChoiceLabeling const &other) const
Checks whether the two labelings are equal.
A base class managing the labeling of items with a number of (atomic) labels.
A bit vector that is internally represented as a vector of 64-bit values.
Definition BitVector.h:18
LabParser.cpp.
Definition cli.cpp:18