Class State

Inheritance Relationships

Derived Types

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 (running or canceled) and the possible outcomes of its execution.

Subclassed by yasmin::CbState, 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.

std::string operator()(std::shared_ptr<blackboard::Blackboard> blackboard)

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.

inline virtual std::string execute(std::shared_ptr<blackboard::Blackboard> blackboard)

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 canceled flag to true and logs the action.

bool is_canceled() const

Checks if the state has been canceled.

Returns:

True if the state is canceled, otherwise false.

bool is_running() const

Checks if the state is currently running.

Returns:

True if the state is running, otherwise false.

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.