Class State
Defined in File state.hpp
Inheritance Relationships
Derived Types
public yasmin::CbState
(Class CbState)public yasmin::Concurrence
(Class Concurrence)public yasmin::StateMachine
(Class StateMachine)
Class Documentation
-
class State
Represents a state in a state machine.
The State class defines a state that can execute actions and manage outcomes. It maintains information about its execution status and the possible outcomes of its execution.
Subclassed by yasmin::CbState, yasmin::Concurrence, yasmin::StateMachine
Public Functions
-
State(std::set<std::string> outcomes)
Constructs a State with a set of possible outcomes.
- Parameters:
outcomes – A set of possible outcomes for this state.
-
StateStatus get_status() const
Gets the current status of the state.
- Returns:
The current StateStatus.
-
bool is_idle() const
Checks if the state is idle.
- Returns:
True if the state is idle, otherwise false.
-
bool is_running() const
Checks if the state is currently running.
- Returns:
True if the state is running, otherwise false.
-
bool is_canceled() const
Checks if the state has been canceled.
- Returns:
True if the state is canceled, otherwise false.
-
bool is_completed() const
Checks if the state has completed execution.
- Returns:
True if the state is completed, otherwise false.
Executes the state and returns the outcome.
This function stores the state as running, invokes the execute method, and checks if the returned outcome is valid. If the outcome is not valid, a std::logic_error is thrown.
- Parameters:
blackboard – A shared pointer to the Blackboard to use during execution.
- Throws:
std::logic_error – If the outcome is not in the set of outcomes.
- Returns:
A string representing the outcome of the execution.
Executes the state’s specific logic.
This method is intended to be overridden by derived classes to provide specific execution logic.
- Parameters:
blackboard – A shared pointer to the Blackboard to use during execution.
- Returns:
A string representing the outcome of the execution.
-
inline virtual void cancel_state()
Cancels the current state execution.
This method sets the status to CANCELED and logs the action.
-
std::set<std::string> const &get_outcomes()
Gets the set of possible outcomes for this state.
- Returns:
A constant reference to the set of possible outcomes.
-
inline virtual std::string to_string()
Converts the state to a string representation.
This method retrieves the demangled name of the class for a readable string representation.
- Returns:
A string representation of the state.
Protected Attributes
-
std::set<std::string> outcomes
The possible outcomes of this state.
-
State(std::set<std::string> outcomes)