|
tin
1.5.9
|
#include <core_algorithms.h>

Public Types | |
| using | type = tsm::detail::type_list< typename Transition::from, typename Transition::to > |
Naming convention for transition metaprogramming.
TransitionList means one type-list value such as type_list<T<Idle, Start, Run>, ...>. TransitionEntries means the unpacked parameter pack of individual transition rows. The public tsm::Ts<...> alias is authoring syntax only; core algorithms use descriptive names. States declared by a transition table.
A transition table defines its state universe by mentioning source and destination states. The result preserves first-seen declaration order and removes duplicates.
(define (states table) (unique (flat-map (lambda (transition) (list transition.from transition.to)) table)))
| using tsm::core::transition_states< Transition >::type = tsm::detail::type_list<typename Transition::from, typename Transition::to> |