28 JaniChoiceOrigins(std::shared_ptr<storm::jani::Model const>
const& janiModel, std::vector<uint_fast64_t>
const& indexToIdentifierMapping,
29 std::vector<EdgeIndexSet>
const& identifierToEdgeIndexSetMapping);
52 std::size_t
hash()
const override;
58 virtual std::shared_ptr<ChoiceOrigins> cloneWithNewIndexToIdentifierMapping(std::vector<uint_fast64_t>&& indexToIdentifierMapping)
const override;
70 std::shared_ptr<storm::jani::Model const> model;
71 std::vector<EdgeIndexSet> identifierToEdgeIndexSet;
virtual void computeIdentifierInfos() const =0
virtual void computeIdentifierJson() const =0
ChoiceOrigins(std::vector< uint_fast64_t > const &indexToIdentifierMapping)
storm::jani::Model const & getModel() const
Retrieves the associated JANI model.
virtual bool isJaniChoiceOrigins() const override
virtual ~JaniChoiceOrigins()=default
std::size_t hash() const override
JaniChoiceOrigins(std::shared_ptr< storm::jani::Model const > const &janiModel, std::vector< uint_fast64_t > const &indexToIdentifierMapping, std::vector< EdgeIndexSet > const &identifierToEdgeIndexSetMapping)
Creates a new representation of the choice indices to their origin in the Jani specification.
storm::storage::FlatSet< uint_fast64_t > EdgeIndexSet
virtual uint_fast64_t getNumberOfIdentifiers() const override
EdgeIndexSet const & getEdgeIndexSet(uint_fast64_t choiceIndex) const
boost::container::flat_set< Key, std::less< Key >, boost::container::new_allocator< Key > > FlatSet
Redefinition of flat_set was needed, because from Boost 1.70 on the default allocator is set to void.