tin  1.5.9
reflection.h File Reference

Experimental C++ reflection metadata extraction. More...

#include <array>
#include <cstddef>
#include <string_view>
#include <tuple>
#include <type_traits>
#include "tsm.h"
Include dependency graph for reflection.h:

Go to the source code of this file.

Classes

struct  tsm::reflection::transition_descriptor
 
struct  tsm::reflection::detail::transition_count< std::tuple< TransitionEntries... > >
 
struct  tsm::reflection::detail::transition_table_builder< std::tuple< TransitionEntries... > >
 
struct  tsm::reflection::detail::same_trigger< A, B >
 
struct  tsm::reflection::detail::transition_conflicts_with_any< Transition, RemainingEntries >
 
struct  tsm::reflection::detail::has_duplicate_trigger_impl<>
 
struct  tsm::reflection::detail::has_duplicate_trigger_impl< Transition, RemainingEntries... >
 
struct  tsm::reflection::detail::has_duplicate_trigger< std::tuple< TransitionEntries... > >
 
struct  tsm::reflection::graph< Context >
 
struct  tsm::reflected_hsm< Context >
 

Namespaces

 tsm
 
 tsm::reflection
 
 tsm::reflection::detail
 

Functions

template<typename T >
constexpr std::string_view tsm::reflection::type_name ()
 
template<typename Transition >
constexpr transition_descriptor tsm::reflection::detail::describe_transition ()
 
template<typename Context >
constexpr auto tsm::reflection::transition_table ()
 
template<typename Context >
consteval void tsm::reflection::validate_context ()
 

Variables

template<typename TransitionList >
constexpr std::size_t tsm::reflection::detail::transition_count_v
 

Detailed Description

Experimental C++ reflection metadata extraction.

Requires TSM_ENABLE_REFLECTION=1 and a standard library with <meta>. Extracts state, event, and transition names for tooling metadata.