102 if(dur == duration_t::zero())
107 float total_dur = float(dur.count());
118 update(std::chrono::duration_cast<seq::duration_t>(delta));
129void push(
const std::string& scope)
169void pause_all(
const std::string& scope,
const std::string& key)
174void resume_all(
const std::string& scope,
const std::string& key)
auto get_manager() -> seq_manager &
void push(seq_manager &mgr)
void add_location(seq_action &action, const hpp::source_location &location)
void pop()
Pops the top sequence manager from the stack.
void push(seq_manager &mgr)
Pushes a sequence manager to the stack.
void pause_all(const std::string &scope)
Pauses all actions within the specified scope.
void stop_when_finished_all(const std::string &scope)
Marks all actions within the specified scope to stop when they finish.
void push(const std::string &scope)
Pushes a new scope to the stack.
void stop_all(const std::string &scope)
Stops all actions within the specified scope.
auto get_current() -> const std::string &
Gets the name of the current scope.
void pop()
Pops the current scope from the stack.
void close(const std::string &scope)
Closes the specified scope.
void clear()
Clears all scopes from the stack.
void resume_all(const std::string &scope)
Resumes all actions within the specified scope.
void stop_and_finish_all(const std::string &scope)
Stops and finishes all actions within the specified scope.
Provides a sequence-based action management system for controlling and scheduling actions.
size_t seq_id_t
Represents a unique identifier for sequence actions.
void update(seq_id_t id, duration_t delta)
Updates the elapsed duration of a specific action.
auto is_finished(seq_id_t id) -> bool
Checks if the action has finished.
std::chrono::duration< float > duraiton_secs_t
Represents a duration in seconds as a floating-point value.
void set_elapsed(seq_id_t id, duration_t duration)
Sets the elapsed duration of an action.
auto is_paused(seq_id_t id) -> bool
Checks if the action is paused.
void resume(const seq_id_t id)
Resumes the action associated with the given ID.
auto start(seq_action action, const seq_scope_policy &scope_policy, hpp::source_location location) -> seq_id_t
Starts a new action.
auto get_duration(seq_id_t id) -> duration_t
Gets the total duration of an action.
auto get_overflow(seq_id_t id) -> duration_t
Gets the overflow duration of an action.
void stop_and_finish(seq_id_t id, duration_t finish_after)
Stops the action after a specified duration.
auto is_running(seq_id_t id) -> bool
Checks if the action is running.
void shutdown()
Shuts down the action management system, stopping all actions.
void set_speed_multiplier(seq_id_t id, float speed_multiplier)
Sets the speed multiplier for an action.
auto is_stopping(seq_id_t id) -> bool
Checks if the action is stopping.
auto get_speed_multiplier(seq_id_t id) -> float
Gets the speed multiplier of an action.
auto get_elapsed(seq_id_t id) -> duration_t
Gets the elapsed duration of an action.
void stop_when_finished(seq_id_t id)
Marks the action to stop when it finishes.
auto has_action_with_scope(const std::string &scope_id) -> bool
Checks if there is an action associated with the given scope ID.
auto get_percent(seq_id_t id) -> float
Gets the percentage completion of an action.
void stop(seq_id_t id)
Stops the action associated with the given ID.
std::chrono::nanoseconds duration_t
Represents a duration in nanoseconds.
void pause(const seq_id_t id)
Pauses the action associated with the given ID.
Represents an action within the sequence management system. Contains lifecycle events and management ...
Manages and coordinates multiple sequence actions with scoping, pausing, and updating capabilities.
Defines policies for scoping actions in a sequence.