Class ActionVariant

Class Documentation

class ActionVariant

Structure that holds either an Action or DurativeAction message.

This struct provides a type-safe container for different action types and offers a unified interface to access their properties regardless of type.

Public Types

using ActionVariantType = std::variant<plansys2::Action, plansys2::DurativeAction>

Variant that holds either an Action or DurativeAction.

Public Functions

inline ActionVariant()
template<typename ActionT>
inline ActionVariant(ActionT action)
template<typename ActionT>
inline ActionVariant &operator=(ActionT ptr)
template<typename ActionT>
inline ActionVariant &operator=(std::shared_ptr<ActionT> ptr)
inline bool operator==(const ActionVariant &other) const
inline size_t hash() const
std::string get_action_string() const
std::string get_action_name() const
std::vector<plansys2_msgs::msg::Param> get_action_params() const
plansys2_msgs::msg::Tree get_overall_requirements() const
plansys2_msgs::msg::Tree get_at_start_requirements() const
plansys2_msgs::msg::Tree get_at_end_requirements() const
plansys2_msgs::msg::Tree get_at_start_effects() const
plansys2_msgs::msg::Tree get_at_end_effects() const
inline bool is_action() const
inline bool is_durative_action() const
inline bool is_empty() const