~WakeupTreeNode() = default;
WakeupTreeNode(const WakeupTreeNode&) = delete;
WakeupTreeNode(WakeupTreeNode&&) = default;
~WakeupTreeNode() = default;
WakeupTreeNode(const WakeupTreeNode&) = delete;
WakeupTreeNode(WakeupTreeNode&&) = default;
std::shared_ptr<Transition> get_action() const { return action_; }
const std::list<WakeupTreeNode*>& get_ordered_children() const { return children_; }
std::shared_ptr<Transition> get_action() const { return action_; }
const std::list<WakeupTreeNode*>& get_ordered_children() const { return children_; }
void insert_node(std::unique_ptr<WakeupTreeNode> node);
void insert_sequence_after(WakeupTreeNode* node, const PartialExecution& w);
void remove_node(WakeupTreeNode* node);
void insert_node(std::unique_ptr<WakeupTreeNode> node);
void insert_sequence_after(WakeupTreeNode* node, const PartialExecution& w);
void remove_node(WakeupTreeNode* node);
/**
* @brief Remove the subtree of the smallest (with respect
* to the tree's "<" relation) single-process node.
/**
* @brief Remove the subtree of the smallest (with respect
* to the tree's "<" relation) single-process node.