yasmine
composite_state_model.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 COMPOSITE_STATE_MODEL_3486C4FF_7607_4948_B81E_542780DEAAA6
12 #define COMPOSITE_STATE_MODEL_3486C4FF_7607_4948_B81E_542780DEAAA6
13 
14 
15 #include "state_model.hpp"
18 #include "region_model_fwd.hpp"
19 
20 
21 namespace sxy
22 {
23 
24 
25 namespace model
26 {
27 
28 
32  public virtual state_model
33 {
34 
35 
36 public:
38  {
39  // Nothing to do...
40  }
41 
42 
43  virtual ~composite_state_model() SX_NOEXCEPT SX_OVERRIDE
44  {
45  // Nothing to do...
46  }
47 
48 
49  SX_NO_COPY( composite_state_model )
50  virtual const std::string& get_enter_behavior() const = 0;
51  virtual void set_enter_behavior( const std::string& _enter_behavior ) = 0;
52  virtual const std::string& get_exit_behavior() const = 0;
53  virtual void set_exit_behavior( const std::string& _exit_behavior ) = 0;
54  virtual void add_region( region_model_uptr _region ) = 0;
56  virtual void add_state_pseudostate( pseudostate_model_uptr _pseudostate ) = 0;
57 };
58 
59 
60 }
61 
62 
63 }
64 
65 
66 #endif
virtual void set_exit_behavior(const std::string &_exit_behavior)=0
sxe::SX_UNIQUE_PTR< pseudostate_model > pseudostate_model_uptr
Definition: pseudostate_model_fwd.hpp:28
sxe::SX_UNIQUE_PTR< region_model > region_model_uptr
Definition: region_model_fwd.hpp:29
virtual void set_enter_behavior(const std::string &_enter_behavior)=0
virtual void add_state_pseudostate(pseudostate_model_uptr _pseudostate)=0
virtual raw_const_pseduostate_models get_state_pseudostates() const =0
composite_state_model()
Definition: composite_state_model.hpp:37
virtual void add_region(region_model_uptr _region)=0
Definition: algorithm_parameters.hpp:16
virtual const std::string & get_exit_behavior() const =0
virtual ~composite_state_model() SX_NOEXCEPT SX_OVERRIDE
Definition: composite_state_model.hpp:43
std::vector< const pseudostate_model * > raw_const_pseduostate_models
Definition: pseudostate_model_fwd.hpp:33
Interface for a state in the model.
Definition: state_model.hpp:34
virtual const std::string & get_enter_behavior() const =0
Interface for a composite state in the model.
Definition: composite_state_model.hpp:31