3#include <boost/algorithm/string/join.hpp>
9 : sub(sub), actionsToHide(actionsToHide) {
14 return visitor.
visit(*
this, data);
26 stream <<
"(" << *sub <<
")" <<
" " <<
"{" << boost::join(actionsToHide,
", ") <<
"}";
virtual boost::any visit(ModuleComposition const &composition, boost::any const &data)=0
HidingComposition(std::shared_ptr< Composition > const &sub, std::set< std::string > const &actionsToHide)
virtual void writeToStream(std::ostream &stream) const override
virtual boost::any accept(CompositionVisitor &visitor, boost::any const &data) const override
std::set< std::string > const & getActionsToHide() const
Composition const & getSubcomposition() const