tin  1.5.9
tsm::core::transition_states< Transition > Struct Template Reference

#include <core_algorithms.h>

Collaboration diagram for tsm::core::transition_states< Transition >:
Collaboration graph

Public Types

using type = tsm::detail::type_list< typename Transition::from, typename Transition::to >
 

Detailed Description

template<typename Transition>
struct tsm::core::transition_states< Transition >

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)))

Member Typedef Documentation

◆ type

template<typename Transition >
using tsm::core::transition_states< Transition >::type = tsm::detail::type_list<typename Transition::from, typename Transition::to>

The documentation for this struct was generated from the following file: