4#include <hpp/sentinel.hpp>
5#include <hpp/type_name.hpp>
10using namespace std::chrono_literals;
61using ease_t = std::function<float(
float)>;
142 using ptr = std::shared_ptr<seq_inspect_info>;
269 return hpp::type_name_unqualified_str<T>();
Provides utilities for inspecting and converting sequence-related types to strings.
auto as_string(const T &t) -> std::string
Converts a value to a string.
auto type_as_string(const T &) -> std::string
Gets the type of a value as a string.
auto to_str(const T &t) -> std::string
Converts a value to a string using ADL (Argument-Dependent Lookup).
auto type_to_str(const T &t) -> std::string
Gets the type of a value as a string using ADL.
Provides a sequence-based action management system for controlling and scheduling actions.
size_t seq_id_t
Represents a unique identifier for sequence actions.
hpp::sentinel sentinel_t
Alias for a sentinel object used for lifecycle management.
state_t
Represents the state of a sequence action.
@ running
The action is running.
@ finished
The action has finished.
@ paused
The action is paused.
std::chrono::duration< float > duraiton_secs_t
Represents a duration in seconds as a floating-point value.
std::function< float(float)> ease_t
Represents an easing function for interpolation.
std::function< T(const T &, const T &, float, const ease_t &)> interpolate_t
Represents a function for interpolating values.
clock_t::time_point timepoint_t
Represents a point in time using the steady clock.
std::chrono::steady_clock clock_t
Alias for the steady clock used for timing actions.
std::chrono::nanoseconds duration_t
Represents a duration in nanoseconds.
Contains information for inspecting and debugging sequence actions.
bool stop_when_finished
Whether the action should stop when finished.
std::string state
The current state of the action.
std::vector< weak_ptr > children
The child actions of this action.
std::string file_name
The file name where the action was defined.
duration_t duration
The total duration of the action.
std::string function_name
The function name where the action was defined.
float progress
The progress of the action (0 to 1).
std::string modified_type
The type of modification applied to the action.
duration_t elapsed
The elapsed duration of the action.
std::string current_value
The current value of the action.
std::shared_ptr< seq_inspect_info > ptr
Shared pointer type.
uint32_t line_number
The line number where the action was defined.
uint32_t column_offset
The column offset where the action was defined.
std::string begin_value
The beginning value of the action.
std::string end_value
The ending value of the action.
float speed_multiplier
The speed multiplier for the action.
std::string updater_type
The type of updater function used by the action.
std::weak_ptr< seq_inspect_info > weak_ptr
Weak pointer type.
ease_t ease_func
The easing function applied to the action.
Defines policies for scoping actions in a sequence.
std::string scope
The name of the scope.
policy_t
Represents the policy for scoping actions.
@ stacked
Actions share the same scope and stack behavior.
@ independent
Actions operate independently within their scope.
seq_scope_policy(const std::string &_scope) noexcept
Constructs a scope policy with a specified scope.
policy_t policy
The scoping policy (default is stacked).
seq_scope_policy() noexcept=default
Default constructor.