tsm  0.1.0
tsm.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "tsm_impl.h"
4 
5 namespace tsm {
6 
32 template<typename Context,
33  template<class> class Policy = SingleThreadedExecutionPolicy>
34 using SingleThreadedHsm = Policy<Context>;
35 
46 template<typename Context,
47  template<class> class Policy = ThreadedExecutionPolicy>
48 using ThreadedHsm = Policy<Context>;
49 
65 template<typename Context,
66  template<class> class Policy = PeriodicExecutionPolicy>
67 using PeriodicHsm = Policy<Context>;
68 
80 template<typename Context,
81  template<class> class Policy = RealtimePeriodicExecutionPolicy>
82 using RealtimePeriodicHsm = Policy<Context>;
83 
84 // Real-time state machine. This state machine is driven by a periodic timer.
85 template<typename Context,
86  template<class> class Policy = RealtimeExecutionPolicy>
87 using RealtimeHsm = Policy<Context>;
88 
89 // Concurrent Hsm
90 template<template<typename> class Policy = ThreadedExecutionPolicy,
91  typename... Contexts>
92 using ConcurrentHsm = make_concurrent_hsm_t<Policy, Contexts...>;
93 
94 } // namespace tsm
Definition: tsm_impl.h:838
Definition: tsm.h:5
Policy< Context > SingleThreadedHsm
Definition: tsm.h:34
Policy< Context > ThreadedHsm
Definition: tsm.h:48
Policy< Context > RealtimeHsm
Definition: tsm.h:87
Policy< Context > RealtimePeriodicHsm
Definition: tsm.h:82
Policy< Context > PeriodicHsm
Definition: tsm.h:67
make_concurrent_hsm_t< Policy, Contexts... > ConcurrentHsm
Definition: tsm.h:92
typename make_concurrent_hsm< Policy, Ts... >::type make_concurrent_hsm_t
Definition: tsm_impl.h:1436
Definition: tsm_impl.h:1309
Definition: tsm_impl.h:1284
Definition: tsm_impl.h:1352
Definition: tsm_impl.h:974