Class taskable

Inheritance Relationships

Base Type

  • public rmetrics::base_metrics

Derived Types

Class Documentation

class taskable : public virtual rmetrics::base_metrics

A class that all classes wishing to be used as the mechanism by which executable_task objects execute themselves must inherit from.

Subclassed by cosm::spatial::fsm::acquire_goal_fsm, cosm::spatial::fsm::explore_for_goal_fsm, cosm::spatial::fsm::vector_fsm, cosm::spatial::strategy::base_strategy, cosm::ta::polled_task

Public Functions

taskable(void) = default
~taskable(void) override
virtual void task_execute(void) = 0

Execute the task.

virtual bool task_finished(void) const = 0

Determine if the task has finished yet.

Returns:

TRUE if the task has finished, and FALSE otherwise.

inline virtual void task_reset(void)

Reset the task so that it is ready for execution again. Does nothing by default.

virtual bool task_running(void) const = 0

Determine if the task has is still running yet.

Returns:

TRUE if the task is still running, and FALSE otherwise.

virtual void task_start(taskable_argument *c_arg) = 0

Start the task with the specified argument. The argument is consumed by the called function.