9#ifdef SEQ_INSPECTOR_ENABLE
11 info->id = action.
get_id();
12 info->updater_type =
"sequence";
13 info->modified_type =
"action";
15 info->begin_value =
"0";
16 info->current_value =
"0";
17 info->end_value =
to_str(actions.size());
21 for(
const auto& act : actions)
25 info->children.emplace_back(act.info);
29 action.
info = std::move(info);
35#ifdef SEQ_INSPECTOR_ENABLE
37 info->id = action.
get_id();
38 info->updater_type =
"together";
39 info->modified_type =
"action";
41 info->begin_value =
"n/a";
42 info->current_value =
"n/a";
43 info->end_value =
"n/a";
47 for(
const auto& act : actions)
51 info->children.emplace_back(act.info);
55 action.
info = std::move(info);
61#ifdef SEQ_INSPECTOR_ENABLE
63 info->id = action.
get_id();
64 info->updater_type =
"delay";
65 info->modified_type =
"n/a";
67 info->begin_value =
"n/a";
68 info->current_value =
"n/a";
69 info->end_value =
"n/a";
73 action.
info = std::move(info);
79#ifdef SEQ_INSPECTOR_ENABLE
81 info->id = repeat_action.
get_id();
82 info->updater_type =
"repeat";
86 info->begin_value =
"infinity";
87 info->current_value =
"infinity";
88 info->end_value =
"infinity";
93 info->begin_value =
"0";
94 info->current_value =
"0";
95 info->end_value = std::to_string(times);
101 info->children.emplace_back(action.
info);
103 repeat_action.
info = std::move(info);
109#ifdef SEQ_INSPECTOR_ENABLE
119#ifdef SEQ_INSPECTOR_ENABLE
123 action.
info->current_value =
"n/a";
130#ifdef SEQ_INSPECTOR_ENABLE
133 action.
info->file_name = location.file_name();
134 action.
info->function_name = location.function_name();
135 action.
info->line_number = location.line();
136 action.
info->column_offset = location.column();
Provides utilities for inspecting and converting sequence-related types to strings.
void add_repeat_info(seq_action &repeat_action, const seq_action &action, size_t times)
void add_together_info(seq_action &action, const std::vector< seq_action > &actions)
auto to_str(const T &t) -> std::string
Converts a value to a string using ADL (Argument-Dependent Lookup).
void update_action_state(seq_action &action, state_t state)
void add_location(seq_action &action, const hpp::source_location &location)
void add_sequence_info(seq_action &action, const std::vector< seq_action > &actions)
void update_action_status(seq_action &action)
void add_delay_info(seq_action &action)
Provides a sequence-based action management system for controlling and scheduling actions.
state_t
Represents the state of a sequence action.
std::chrono::nanoseconds duration_t
Represents a duration in nanoseconds.
Represents an action within the sequence management system. Contains lifecycle events and management ...
auto get_id() const -> seq_id_t
Gets the unique ID of the action.
seq_inspect_info::ptr info
Gets a pointer to the action's inspection information.
std::shared_ptr< seq_inspect_info > ptr
Shared pointer type.
static auto get_duration(const seq_action &self) -> duration_t
Gets the total duration of a given action.