Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
RestrictedParallelComposition.cpp
Go to the documentation of this file.
2
3#include <boost/algorithm/string/join.hpp>
4
5namespace storm {
6namespace prism {
7
8RestrictedParallelComposition::RestrictedParallelComposition(std::shared_ptr<Composition> const& left, std::set<std::string> const& synchronizingActions,
9 std::shared_ptr<Composition> const& right)
10 : storm::prism::ParallelComposition(left, right), synchronizingActions(synchronizingActions) {
11 // Intentionally left empty.
12}
13
14boost::any RestrictedParallelComposition::accept(CompositionVisitor& visitor, boost::any const& data) const {
15 return visitor.visit(*this, data);
16}
17
18std::set<std::string> const& RestrictedParallelComposition::getSynchronizingActions() const {
19 return synchronizingActions;
20}
21
22void RestrictedParallelComposition::writeToStream(std::ostream& stream) const {
23 stream << "(" << this->getLeftSubcomposition() << " |[" << boost::algorithm::join(synchronizingActions, ", ") << "]| " << this->getRightSubcomposition()
24 << ")";
25}
26
27} // namespace prism
28} // namespace storm
virtual boost::any visit(ModuleComposition const &composition, boost::any const &data)=0
Composition const & getLeftSubcomposition() const
Composition const & getRightSubcomposition() const
virtual boost::any accept(CompositionVisitor &visitor, boost::any const &data) const override
virtual void writeToStream(std::ostream &stream) const override
RestrictedParallelComposition(std::shared_ptr< Composition > const &left, std::set< std::string > const &synchronizingActions, std::shared_ptr< Composition > const &right)
std::set< std::string > const & getSynchronizingActions() const
LabParser.cpp.
Definition cli.cpp:18