yasmine
complex_state_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 
12 #ifndef COMPLEX_STATE_VISITOR_A1E31C49_08E0_400B_A6A9_20A333A8FD42
13 #define COMPLEX_STATE_VISITOR_A1E31C49_08E0_400B_A6A9_20A333A8FD42
14 
15 
16 #include "essentials/non_copyable.hpp"
17 
18 
19 namespace sxy
20 {
21 
22 
23 class composite_state;
24 class simple_state;
25 
26 
28 {
29 public:
31  {
32  // Nothing to do...
33  }
34 
35 
36  virtual ~complex_state_visitor() SX_NOEXCEPT
37  {
38  // Nothing to do...
39  }
40 
41 
42  SX_NO_COPY(complex_state_visitor)
43  virtual void visit( const composite_state& _composite_state ) = 0;
44  virtual void visit( const simple_state& _simple_state ) = 0;
45 };
46 
47 
48 }
49 
50 
51 #endif
virtual ~complex_state_visitor() SX_NOEXCEPT
Definition: complex_state_visitor.hpp:36
virtual void visit(const composite_state &_composite_state)=0
Definition: composite_state.hpp:28
Definition: adapter_cpp11.hpp:21
Definition: simple_state.hpp:23
Definition: complex_state_visitor.hpp:27
complex_state_visitor()
Definition: complex_state_visitor.hpp:30