12 #ifndef REGION_IMPL_DDA92905_6CBE_4061_8DA1_4E6C1E98E11A 13 #define REGION_IMPL_DDA92905_6CBE_4061_8DA1_4E6C1E98E11A 24 class region_impl SX_FINAL:
25 public virtual region,
public state_machine_element_impl
28 explicit region_impl(
const std::string& _name );
29 virtual ~region_impl() SX_NOEXCEPT SX_OVERRIDE;
30 SX_NO_COPY(region_impl)
31 void set_parent_state( composite_state* const _composite_state ) SX_OVERRIDE;
33 virtual const composite_state& get_parent_state() const SX_OVERRIDE;
34 virtual composite_state& get_parent_state() SX_OVERRIDE;
35 virtual vertex* get_vertex( const std::
string& _vertex_name ) const SX_OVERRIDE;
36 virtual
size_t get_pseudostate_count() const SX_OVERRIDE;
37 virtual vertex* get_pseudostate( const std::
string& _name ) const SX_OVERRIDE;
39 virtual initial_pseudostate* get_initial_pseudostate() const SX_OVERRIDE;
40 virtual
size_t get_state_count() const SX_OVERRIDE;
41 virtual state* get_state( const std::
string& _name ) const SX_OVERRIDE;
42 virtual const state* get_active_state() const SX_OVERRIDE;
43 virtual state* get_active_state() SX_OVERRIDE;
44 virtual
void set_active_state( state* const _active_state ) SX_OVERRIDE;
45 virtual
void set_state_was_active( state* const _active_state ) SX_OVERRIDE;
46 virtual const state* get_last_active_state() const SX_OVERRIDE;
47 virtual state* get_last_active_state() SX_OVERRIDE;
53 virtual initial_pseudostate& add_initial_pseudostate( const std::
string& _initial_state_name ) SX_OVERRIDE;
54 virtual state& add_state(
state_uptr _state ) SX_OVERRIDE;
55 virtual simple_state& add_simple_state( const std::
string& _simple_state_name,
57 const behavior_function& _entry_behavior = behavior_function(),
58 const behavior_function& _exit_behavior = behavior_function() ) SX_OVERRIDE;
59 virtual simple_state& add_simple_state( const std::
string& _simple_state_name, const
event_ids& _deferred_events,
60 const behavior_function& _behavior = behavior_function(),
61 const behavior_function& _entry_behavior = behavior_function(),
62 const behavior_function& _exit_behavior = behavior_function(),
64 virtual simple_state& add_async_simple_state( const std::
string& _async_simple_state_name,
66 const behavior_function& _entry_behavior = behavior_function(),
67 const behavior_function& _exit_behavior = behavior_function(),
69 virtual composite_state& add_composite_state( const std::
string& _composite_state_name,
70 const behavior_function& _entry_action = behavior_function(),
71 const behavior_function& _exit_action = behavior_function() ) SX_OVERRIDE;
72 virtual composite_state& add_composite_state( const std::
string& _composite_state_name,
73 const
event_ids& _deferred_events, const behavior_function& _entry_action = behavior_function(),
74 const behavior_function& _exit_action = behavior_function() ) SX_OVERRIDE;
75 virtual final_state& add_final_state( const std::
string& _name ) SX_OVERRIDE;
76 virtual choice& add_choice(
choice_uptr _choice ) SX_OVERRIDE;
81 virtual choice& add_choice( const std::
string& _choice_name ) SX_OVERRIDE;
82 virtual fork& add_fork(
fork_uptr _fork ) SX_OVERRIDE;
87 virtual fork& add_fork( const std::
string& _fork_name ) SX_OVERRIDE;
88 virtual join& add_join(
join_uptr _join ) SX_OVERRIDE;
93 virtual join& add_join( const std::
string& _join_name ) SX_OVERRIDE;
94 virtual junction& add_junction(
junction_uptr _junction ) SX_OVERRIDE;
99 virtual junction& add_junction( const std::
string& _junction_name ) SX_OVERRIDE;
100 virtual terminate_pseudostate& add_terminate_pseudostate(
106 virtual terminate_pseudostate& add_terminate_pseudostate(
107 const std::
string& _terminate_pseudostate_name ) SX_OVERRIDE;
108 sxe::uri get_uri() const SX_OVERRIDE;
109 void add_ancestor_uri ( sxe::uri& _uri ) const SX_OVERRIDE;
110 virtual
bool is_active_state_final () const SX_OVERRIDE;
112 virtual const state_machine_element * get_parent() const SX_OVERRIDE;
116 composite_state* parent_state_;
119 initial_pseudostate* initial_pseudostate_;
120 state* active_state_;
121 state* last_active_state_;
std::vector< state_uptr > states
Definition: state_fwd.hpp:30
sxe::SX_UNIQUE_PTR< initial_pseudostate > initial_pseudostate_uptr
Definition: initial_pseudostate_fwd.hpp:23
std::vector< state_machine_defect > state_machine_defects
Definition: state_machine_defect_fwd.hpp:23
sxe::SX_UNIQUE_PTR< junction > junction_uptr
Definition: junction_fwd.hpp:25
std::vector< pseudostate_uptr > pseudostates
Definition: pseudostate_fwd.hpp:27
Definition: adapter_cpp11.hpp:21
std::vector< const pseudostate *> raw_const_pseudostates
Definition: pseudostate_fwd.hpp:28
sxe::SX_UNIQUE_PTR< state > state_uptr
Definition: state_fwd.hpp:27
std::vector< const state *> raw_const_states
Definition: state_fwd.hpp:29
sxe::shared_ptr< event > event_sptr
Definition: event_fwd.hpp:25
sxe::SX_UNIQUE_PTR< async_behavior > async_behavior_uptr
Definition: async_behavior_fwd.hpp:24
sxe::SX_UNIQUE_PTR< choice > choice_uptr
Definition: choice_fwd.hpp:25
sxe::SX_UNIQUE_PTR< fork > fork_uptr
Definition: fork_fwd.hpp:25
sxe::function< void(const event &, event_collector &) > behavior_function
Definition: behavior_fwd.hpp:29
std::vector< event_id > event_ids
The type alias for yasmine's event ID list.
Definition: event_id.hpp:29
sxe::SX_UNIQUE_PTR< terminate_pseudostate > terminate_pseudostate_uptr
Definition: terminate_pseudostate_fwd.hpp:25
sxe::SX_UNIQUE_PTR< join > join_uptr
Definition: join_fwd.hpp:25