yasmine
model_vertex_visitor.hpp
Go to the documentation of this file.
1 // //
3 // This file is part of the Seadex yasmine ecosystem (http://yasmine.seadex.de). //
4 // Copyright (C) 2016-2017 Seadex GmbH //
5 // //
6 // Licensing information is available in the folder "license" which is part of this distribution. //
7 // The same information is available on the www @ http://yasmine.seadex.de/Licenses.html. //
8 // //
10 
11 #ifndef MODEL_VERTEX_VISITOR_2F339562_6B94_4450_95C9_F0FA105E4D6B
12 #define MODEL_VERTEX_VISITOR_2F339562_6B94_4450_95C9_F0FA105E4D6B
13 
14 
15 #include "essentials/non_copyable.hpp"
16 #include "essentials/compatibility/compatibility.hpp"
17 
18 
19 namespace sxy
20 {
21 
22 
23 namespace model
24 {
25 
26 
27 class simple_state_model;
28 class composite_state_model;
29 class final_state_model;
30 class initial_pseudostate_model;
31 class terminate_pseudostate_model;
32 class entry_point_model;
33 class exit_point_model;
34 class deep_history_model;
35 class shallow_history_model;
36 class join_model;
37 class junction_model;
38 class choice_model;
39 class fork_model;
40 
41 
43 {
44 public:
46  {
47  // Nothing to do...
48  }
49 
50 
51  virtual ~model_vertex_visitor() SX_NOEXCEPT
52  {
53  // Nothing to do...
54  }
55 
56 
57  SX_NO_COPY( model_vertex_visitor )
58  virtual void visit( const simple_state_model& _simple_state_model ) = 0;
59  virtual void visit( const composite_state_model& _composite_state_model ) = 0;
60  virtual void visit( const final_state_model& _final_state_model ) const = 0;
61  virtual void visit( const initial_pseudostate_model& _initial_pseudostate_model ) const = 0;
62  virtual void visit( const terminate_pseudostate_model& _terminate_pseudostate_model ) const = 0;
63  virtual void visit( const entry_point_model& _entry_point_model ) const = 0;
64  virtual void visit( const exit_point_model& _exit_point_model ) const = 0;
65  virtual void visit( const deep_history_model& _deep_history_model ) const = 0;
66  virtual void visit( const shallow_history_model& _shallow_history_model ) const = 0;
67  virtual void visit( const join_model& _join_model ) const = 0;
68  virtual void visit( const fork_model& _fork_model ) const = 0;
69  virtual void visit( const junction_model& _junction_model ) const = 0;
70  virtual void visit( const choice_model& _choice_model ) const = 0;
71 };
72 
73 
74 }
75 
76 
77 }
78 
79 
80 #endif
Interface for a junction pseudostate in the model.
Definition: junction_model.hpp:29
virtual ~model_vertex_visitor() SX_NOEXCEPT
Definition: model_vertex_visitor.hpp:51
Interface for an entry point pseudostate in the model.
Definition: entry_point_model.hpp:28
Interface for an initial pseudostate int the model.
Definition: initial_pseudostate_model.hpp:29
Interface for an exit point pseudostate in the model.
Definition: exit_point_model.hpp:29
Interface for a simple state in the model.
Definition: simple_state_model.hpp:29
Interface for a terminate pseudostate in the model.
Definition: terminate_pseudostate_model.hpp:29
Definition: model_vertex_visitor.hpp:42
Definition: algorithm_parameters.hpp:16
Interface for a shallow history pseudostate in the model.
Definition: shallow_history_model.hpp:29
Interface for a fork pseudostate in the model.
Definition: fork_model.hpp:29
Interface for a join pseudostate in the model.
Definition: join_model.hpp:29
Definition: choice_model.hpp:29
Interface for a deep history pseudostate in the model.
Definition: deep_history_model.hpp:28
model_vertex_visitor()
Definition: model_vertex_visitor.hpp:45
Interface for a composite state in the model.
Definition: composite_state_model.hpp:31
virtual void visit(const simple_state_model &_simple_state_model)=0
Interface for a final state in the model.
Definition: final_state_model.hpp:30