15class PrismChoiceOrigins;
16class JaniChoiceOrigins;
67 std::string
const&
getChoiceInfo(uint_fast64_t choiceIndex)
const;
93 std::shared_ptr<ChoiceOrigins>
selectChoices(std::vector<uint_fast64_t>
const& selectedChoiceIndices)
const;
97 virtual std::size_t
hash()
const = 0;
100 ChoiceOrigins(std::vector<uint_fast64_t>
const& indexToIdentifierMapping);
101 ChoiceOrigins(std::vector<uint_fast64_t>&& indexToIdentifierMapping);
This class manages the labeling of the choice space with a number of (atomic) labels.
A bit vector that is internally represented as a vector of 64-bit values.
This class represents the origin of the choices of a model in terms of the input model specification ...
virtual std::shared_ptr< ChoiceOrigins > cloneWithNewIndexToIdentifierMapping(std::vector< uint_fast64_t > &&indexToIdentifierMapping) const =0
std::vector< uint_fast64_t > indexToIdentifier
virtual uint_fast64_t getNumberOfIdentifiers() const =0
std::string const & getChoiceInfo(uint_fast64_t choiceIndex) const
virtual bool isJaniChoiceOrigins() const
std::vector< Json > identifierToJson
void clearOriginOfChoice(uint_fast64_t choiceIndex)
virtual ~ChoiceOrigins()=default
virtual std::size_t hash() const =0
virtual void computeIdentifierInfos() const =0
uint_fast64_t getIdentifier(uint_fast64_t choiceIndex) const
JaniChoiceOrigins & asJaniChoiceOrigins()
virtual bool isPrismChoiceOrigins() const
virtual void computeIdentifierJson() const =0
storm::models::sparse::ChoiceLabeling toChoiceLabeling() const
PrismChoiceOrigins & asPrismChoiceOrigins()
std::vector< std::string > identifierToInfo
static uint_fast64_t getIdentifierForChoicesWithNoOrigin()
storm::json< storm::RationalNumber > Json
std::shared_ptr< ChoiceOrigins > selectChoices(storm::storage::BitVector const &selectedChoices) const
Json const & getChoiceAsJson(uint_fast64_t choiceIndex) const
Json const & getIdentifierAsJson(uint_fast64_t identifier) const
uint_fast64_t getNumberOfChoices() const
std::string const & getIdentifierInfo(uint_fast64_t identifier) const
This class represents for each choice the origin in the jani specification // TODO complete this.
This class represents for each choice the set of prism commands that induced the choice.
nlohmann::basic_json< std::map, std::vector, std::string, bool, int64_t, uint64_t, ValueType > json