yasmine
region_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 REGION_MODEL_54D9A6B5_527D_4ECE_959C_2DD711919B25
12 #define REGION_MODEL_54D9A6B5_527D_4ECE_959C_2DD711919B25
13 
14 
16 #include "region_model_fwd.hpp"
17 #include "state_model_fwd.hpp"
19 
20 
21 namespace sxy
22 {
23 
24 
25 namespace model
26 {
27 
28 
31 class region_model:
32  public virtual state_machine_element_model
33 {
34 public:
36  {
37  // Nothing to do...
38  }
39 
40 
41  virtual ~region_model() SX_NOEXCEPT SX_OVERRIDE
42  {
43  // Nothing to do...
44  }
45 
46 
47  SX_NO_COPY( region_model )
48  virtual row_const_state_models get_states() const = 0;
49  virtual void add_state( state_model_uptr _state ) = 0;
51  virtual void add_pseudostate( pseudostate_model_uptr _region_pseudostate ) = 0;
52 };
53 
54 
55 }
56 
57 
58 }
59 
60 
61 #endif
virtual raw_const_pseduostate_models get_pseudostates() const =0
sxe::SX_UNIQUE_PTR< pseudostate_model > pseudostate_model_uptr
Definition: pseudostate_model_fwd.hpp:28
sxe::SX_UNIQUE_PTR< state_model > state_model_uptr
Definition: state_model_fwd.hpp:28
Interface for an element in the state machine model.
Definition: state_machine_element_model.hpp:36
Interface for a region in the model.
Definition: region_model.hpp:31
virtual void add_pseudostate(pseudostate_model_uptr _region_pseudostate)=0
virtual void add_state(state_model_uptr _state)=0
Definition: algorithm_parameters.hpp:16
virtual row_const_state_models get_states() const =0
std::vector< const pseudostate_model * > raw_const_pseduostate_models
Definition: pseudostate_model_fwd.hpp:33
std::vector< const state_model * > row_const_state_models
Definition: state_model_fwd.hpp:33
virtual ~region_model() SX_NOEXCEPT SX_OVERRIDE
Definition: region_model.hpp:41
region_model()
Definition: region_model.hpp:35