C++ YASMIN (Yet Another State MachINe)
Loading...
Searching...
No Matches
FooState Class Reference

Represents the "Foo" state in the state machine. More...

Inheritance diagram for FooState:
Collaboration diagram for FooState:

Public Member Functions

 FooState ()
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the state's specific logic.
 FooState ()
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the state's specific logic.
 FooState ()
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the state's specific logic.
 FooState ()
 Constructs a FooState object, initializing the counter.
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the Foo state logic.
 FooState ()
 Constructs a FooState object, initializing the counter.
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the Foo state logic.
 FooState ()
 Constructs a FooState object, initializing the counter.
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the Foo state logic.
 FooState ()
 Constructs a FooState object, initializing the counter.
std::string execute (yasmin::Blackboard::SharedPtr blackboard) override
 Executes the Foo state logic.
Public Member Functions inherited from yasmin::State
 State (const Outcomes &outcomes)
 Shared pointer type for State.
virtual ~State ()
 Virtual destructor.
Blackboard::SharedPtr get_parameters_blackboard () const
 Gets the private parameter blackboard of this state.
bool is_idle () const noexcept
 Checks if the state is idle.
bool is_running () const noexcept
 Checks if the state is currently running.
bool is_canceled () const noexcept
 Checks if the state has been canceled.
bool is_completed () const noexcept
 Checks if the state has completed execution.
std::string operator() (Blackboard::SharedPtr blackboard)
 Executes the state and returns the outcome.
virtual void configure ()
 Configures the state before execution.
virtual void cancel_state ()
 Cancels the current state execution.
Outcomes const & get_outcomes () const noexcept
 Gets the set of possible outcomes for this state.
void set_description (const std::string &description)
 Sets the description for this state.
const std::string & get_description () const
 Gets the description of this state.
void set_outcome_description (const std::string &outcome, const std::string &description)
 Sets a human-readable description for an outcome.
const std::string & get_outcome_description (const std::string &outcome) const
 Gets the human-readable description for an outcome.
const std::unordered_map< std::string, std::string > & get_outcome_descriptions () const
 Gets all outcome descriptions.
void add_input_key (const BlackboardKeyInfo &key_info)
 Adds an input key to the state's metadata.
void add_input_key (const std::string &key_name)
 Adds an input key with a name only.
void add_input_key (const std::string &key_name, const std::string &description)
 Adds an input key with a name and description.
template<typename T>
void add_input_key (const std::string &key_name, const std::string &description, T default_value)
 Adds an input key with a name, default value and description.
void add_output_key (const BlackboardKeyInfo &key_info)
 Adds an output key to the state's metadata.
void add_output_key (const std::string &key_name)
 Adds an output key with a name only.
void add_output_key (const std::string &key_name, const std::string &description)
 Adds an output key with a name and description.
const std::vector< BlackboardKeyInfo > & get_input_keys () const
 Gets the input keys metadata.
const std::vector< BlackboardKeyInfo > & get_output_keys () const
 Gets the output keys metadata.
void declare_parameter (const BlackboardKeyInfo &parameter_info)
 Declares a parameter in the state metadata.
void declare_parameter (const std::string &parameter_name)
 Declares a parameter with a name only.
void declare_parameter (const std::string &parameter_name, const std::string &description)
 Declares a parameter with a name and description.
template<typename T>
void declare_parameter (const std::string &parameter_name, const std::string &description, T default_value)
 Declares a parameter with a name, description, and default value.
bool has_parameter (const std::string &parameter_name) const
 Checks if a parameter exists in the state-local parameter storage.
template<typename T>
T get_parameter (const std::string &parameter_name) const
 Gets a parameter from the state-local parameter storage.
template<typename T>
void set_parameter (const std::string &parameter_name, T value)
 Sets a parameter in the state-local parameter storage.
bool is_parameter_declared (const std::string &parameter_name) const
 Checks whether a parameter was declared in the state metadata.
void copy_parameter_from (const State &source_state, const std::string &source_parameter_name, const std::string &target_parameter_name)
 Copies a parameter value from another state.
const std::vector< BlackboardKeyInfo > & get_parameters () const
 Gets the declared parameter metadata.
const StateMetadata & get_metadata () const
 Gets the complete state metadata.
virtual std::string to_string () const
 Converts the state to a string representation.

Private Attributes

int counter
 Counter to track the number of executions.

Additional Inherited Members

Protected Attributes inherited from yasmin::State
Outcomes outcomes
 The possible outcomes of this state.

Detailed Description

Represents the "Foo" state in the state machine.

This state increments a counter each time it is executed and communicates the current count via the blackboard.

Constructor & Destructor Documentation

◆ FooState() [1/7]

FooState::FooState ( )
inline

◆ FooState() [2/7]

FooState::FooState ( )
inline

◆ FooState() [3/7]

FooState::FooState ( )
inline

◆ FooState() [4/7]

FooState::FooState ( )
inline

Constructs a FooState object, initializing the counter.

◆ FooState() [5/7]

FooState::FooState ( )
inline

Constructs a FooState object, initializing the counter.

◆ FooState() [6/7]

FooState::FooState ( )
inline

Constructs a FooState object, initializing the counter.

◆ FooState() [7/7]

FooState::FooState ( )
inline

Constructs a FooState object, initializing the counter.

Member Function Documentation

◆ execute() [1/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the state's specific logic.

Parameters
blackboardA shared pointer to the Blackboard to use during execution.
Returns
A string representing the outcome of the execution.

This method is intended to be overridden by derived classes to provide specific execution logic.

Reimplemented from yasmin::State.

◆ execute() [2/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the state's specific logic.

Parameters
blackboardA shared pointer to the Blackboard to use during execution.
Returns
A string representing the outcome of the execution.

This method is intended to be overridden by derived classes to provide specific execution logic.

Reimplemented from yasmin::State.

◆ execute() [3/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the state's specific logic.

Parameters
blackboardA shared pointer to the Blackboard to use during execution.
Returns
A string representing the outcome of the execution.

This method is intended to be overridden by derived classes to provide specific execution logic.

Reimplemented from yasmin::State.

◆ execute() [4/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the Foo state logic.

This method logs the execution, waits for 3 seconds, increments the counter, and sets a string in the blackboard. The state will transition to either "outcome1" or "outcome2" based on the current value of the counter.

Parameters
blackboardShared pointer to the blackboard for state communication.
Returns
std::string The outcome of the execution: "outcome1" or "outcome2".

Reimplemented from yasmin::State.

◆ execute() [5/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the Foo state logic.

This method logs the execution, waits for 3 seconds, increments the counter, and sets a string in the blackboard. The state will transition to either "outcome1" or "outcome2" based on the current value of the counter.

Parameters
blackboardShared pointer to the blackboard for state communication.
Returns
std::string The outcome of the execution: "outcome1" or "outcome2".

Reimplemented from yasmin::State.

◆ execute() [6/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the Foo state logic.

Executes the logic for the Foo state.

Parameters
blackboardShared pointer to the blackboard for state communication.
Returns
std::string The outcome of the execution, which can be SUCCEED.

Reimplemented from yasmin::State.

◆ execute() [7/7]

std::string FooState::execute ( yasmin::Blackboard::SharedPtr blackboard)
inlineoverridevirtual

Executes the Foo state logic.

This method logs the execution, waits for 3 seconds, increments the counter, and sets a string in the blackboard. The state will transition to either "outcome1" or "outcome2" based on the current value of the counter.

Parameters
blackboardShared pointer to the blackboard for state communication.
Returns
std::string The outcome of the execution: "outcome1" or "outcome2".

Reimplemented from yasmin::State.

Member Data Documentation

◆ counter

int FooState::counter
private

Counter to track the number of executions.


The documentation for this class was generated from the following files: