You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

69 lines
4.3 KiB

#pragma once
#include <boost/any.hpp>
#include "storm/storage/jani/Model.h"
namespace storm {
namespace jani {
class JaniTraverser {
public:
virtual ~JaniTraverser() = default;
virtual void traverse(Model& model, boost::any const& data);
virtual void traverse(Action const& action, boost::any const& data);
virtual void traverse(Automaton& automaton, boost::any const& data);
virtual void traverse(Constant& constant, boost::any const& data);
virtual void traverse(FunctionDefinition& functionDefinition, boost::any const& data);
virtual void traverse(VariableSet& variableSet, boost::any const& data);
virtual void traverse(Location& location, boost::any const& data);
virtual void traverse(BooleanVariable& variable, boost::any const& data);
virtual void traverse(BoundedIntegerVariable& variable, boost::any const& data);
virtual void traverse(UnboundedIntegerVariable& variable, boost::any const& data);
virtual void traverse(RealVariable& variable, boost::any const& data);
virtual void traverse(ArrayVariable& variable, boost::any const& data);
virtual void traverse(ClockVariable& variable, boost::any const& data);
virtual void traverse(EdgeContainer& edgeContainer, boost::any const& data);
virtual void traverse(TemplateEdge& templateEdge, boost::any const& data);
virtual void traverse(TemplateEdgeDestination& templateEdgeDestination, boost::any const& data);
virtual void traverse(Edge& edge, boost::any const& data);
virtual void traverse(EdgeDestination& edgeDestination, boost::any const& data);
virtual void traverse(OrderedAssignments& orderedAssignments, boost::any const& data);
virtual void traverse(Assignment& assignment, boost::any const& data);
virtual void traverse(LValue& lValue, boost::any const& data);
virtual void traverse(storm::expressions::Expression const& expression, boost::any const& data);
};
class ConstJaniTraverser {
public:
virtual ~ConstJaniTraverser() = default;
virtual void traverse(Model const& model, boost::any const& data);
virtual void traverse(Action const& action, boost::any const& data);
virtual void traverse(Automaton const& automaton, boost::any const& data);
virtual void traverse(Constant const& constant, boost::any const& data);
virtual void traverse(FunctionDefinition const& functionDefinition, boost::any const& data);
virtual void traverse(VariableSet const& variableSet, boost::any const& data);
virtual void traverse(Location const& location, boost::any const& data);
virtual void traverse(BooleanVariable const& variable, boost::any const& data);
virtual void traverse(BoundedIntegerVariable const& variable, boost::any const& data);
virtual void traverse(UnboundedIntegerVariable const& variable, boost::any const& data);
virtual void traverse(RealVariable const& variable, boost::any const& data);
virtual void traverse(ArrayVariable const& variable, boost::any const& data);
virtual void traverse(ClockVariable const& variable, boost::any const& data);
virtual void traverse(EdgeContainer const& edgeContainer, boost::any const& data);
virtual void traverse(TemplateEdge const& templateEdge, boost::any const& data);
virtual void traverse(TemplateEdgeDestination const& templateEdgeDestination, boost::any const& data);
virtual void traverse(Edge const& edge, boost::any const& data);
virtual void traverse(EdgeDestination const& edgeDestination, boost::any const& data);
virtual void traverse(OrderedAssignments const& orderedAssignments, boost::any const& data);
virtual void traverse(Assignment const& assignment, boost::any const& data);
virtual void traverse(LValue const& lValue, boost::any const& data);
virtual void traverse(storm::expressions::Expression const& expression, boost::any const& data);
};
}
}