Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RenamingComposition.cpp
Go to the documentation of this file.
2
3#include <boost/algorithm/string/join.hpp>
4#include <sstream>
5#include <vector>
6
7namespace storm {
8namespace prism {
9
10RenamingComposition::RenamingComposition(std::shared_ptr<Composition> const& sub, std::map<std::string, std::string> const& actionRenaming)
11 : sub(sub), actionRenaming(actionRenaming) {
12 // Intentionally left empty.
13}
14
15boost::any RenamingComposition::accept(CompositionVisitor& visitor, boost::any const& data) const {
16 return visitor.visit(*this, data);
17}
18
20 return *sub;
21}
22
23std::map<std::string, std::string> const& RenamingComposition::getActionRenaming() const {
24 return actionRenaming;
25}
26
27void RenamingComposition::writeToStream(std::ostream& stream) const {
28 std::vector<std::string> renamings;
29 for (auto const& renaming : actionRenaming) {
30 std::stringstream s;
31 s << renaming.second << " <- " << renaming.first;
32 renamings.push_back(s.str());
33 }
34 stream << *sub << "{" << boost::join(renamings, ", ") << "}";
35}
36
37} // namespace prism
38} // namespace storm
virtual boost::any visit(ModuleComposition const &composition, boost::any const &data)=0
virtual void writeToStream(std::ostream &stream) const override
Composition const & getSubcomposition() const
virtual boost::any accept(CompositionVisitor &visitor, boost::any const &data) const override
std::map< std::string, std::string > const & getActionRenaming() const
RenamingComposition(std::shared_ptr< Composition > const &sub, std::map< std::string, std::string > const &actionRenaming)
LabParser.cpp.
Definition cli.cpp:18