tin  1.5.9
tsm::core::infer_hierarchy< Context, Root > Struct Template Reference

#include <core_algorithms.h>

Collaboration diagram for tsm::core::infer_hierarchy< Context, Root >:
Collaboration graph

Classes

struct  type
 

Public Types

using direct_transitions = detail::context_transition_list_t< Context >
 Direct machine surface authored by Context. More...
 
using direct_states = detail::direct_states_t< Context >
 
using direct_state_set = detail::direct_state_set_t< Context >
 
using nested_states = typename detail::nested_states_for_list< direct_states, Root >::type
 Recursively imported structure from nested composite states. More...
 
using states = typename tsm::detail::unique_tuple< tsm::detail::concat_type_lists_t< tsm::detail::type_list< Root >, direct_states, nested_states >, tsm::detail::type_list<> >::type
 
using parents = typename detail::parent_edges_for_list< direct_states, Root >::type
 Parent and initial-child maps inferred from nesting. More...
 
using initial_children = typename detail::initial_edges_for_list< direct_states >::type
 
using local_leaf_states = typename detail::local_leaf_states_for_list< direct_states >::type
 
using leaf_states = local_leaf_states
 
using initial = tsm::detail::front_type_t< direct_states >
 
using transitions = tsm::detail::concat_type_lists_t< direct_transitions, typename detail::nested_transitions_for_list< direct_states >::type >
 

Member Typedef Documentation

◆ direct_state_set

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::direct_state_set = detail::direct_state_set_t<Context>

◆ direct_states

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::direct_states = detail::direct_states_t<Context>

◆ direct_transitions

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::direct_transitions = detail::context_transition_list_t<Context>

Direct machine surface authored by Context.

◆ initial

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::initial = tsm::detail::front_type_t<direct_states>

◆ initial_children

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::initial_children = typename detail::initial_edges_for_list<direct_states>::type

◆ leaf_states

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::leaf_states = local_leaf_states

◆ local_leaf_states

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::local_leaf_states = typename detail::local_leaf_states_for_list<direct_states>::type

Leaf states reachable when entering this machine. A composite direct child contributes its own leaves.

◆ nested_states

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::nested_states = typename detail::nested_states_for_list<direct_states, Root>::type

Recursively imported structure from nested composite states.

◆ parents

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::parents = typename detail::parent_edges_for_list<direct_states, Root>::type

Parent and initial-child maps inferred from nesting.

◆ states

template<typename Context , typename Root >
using tsm::core::infer_hierarchy< Context, Root >::states = typename tsm::detail::unique_tuple< tsm::detail::concat_type_lists_t<tsm::detail::type_list<Root>, direct_states, nested_states>, tsm::detail::type_list<> >::type

Complete state universe. Root is prepended explicitly; duplicates are removed while preserving first-seen order so state IDs remain stable.

◆ transitions

The effective transition list is the direct list plus every nested transition list. This lets dispatch walk up from a nested leaf and still find transitions authored on ancestor composites.


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