#include "src/storage/prism/RenamingComposition.h" #include #include #include namespace storm { namespace prism { RenamingComposition::RenamingComposition(std::shared_ptr const& sub, std::map const& actionRenaming) : sub(sub), actionRenaming(actionRenaming) { // Intentionally left empty. } boost::any RenamingComposition::accept(CompositionVisitor& visitor) const { return visitor.visit(*this); } Composition const& RenamingComposition::getSubcomposition() const { return *sub; } std::map const& RenamingComposition::getActionRenaming() const { return actionRenaming; } void RenamingComposition::writeToStream(std::ostream& stream) const { std::vector renamings; for (auto const& renaming : actionRenaming) { std::stringstream s; s << renaming.second << " <- " << renaming.first; renamings.push_back(s.str()); } stream << *sub << "{" << boost::join(renamings, ", ") << "}"; } } }