13 #ifndef DECORATOR_BLACKBOARD_PRECONDITION_NODE_H 14 #define DECORATOR_BLACKBOARD_PRECONDITION_NODE_H 39 if( std::is_same<T,int>::value)
41 else if( std::is_same<T,double>::value)
43 else if( std::is_same<T,std::string>::value)
53 InputPort<NodeStatus>(
"return_on_mismatch") };
62 template<
typename T>
inline 82 getInput(
"return_on_mismatch", default_return_status);
83 return default_return_status;
virtual ~BlackboardPreconditionNode() override=default
const TreeNode * child() const
const std::string & name() const
Name of the instance, not the type.
virtual BT::NodeStatus tick() override
Method to be implemented by the user.
const NodeConfiguration & config() const
void haltChild()
Halt() the child node.
Result getInput(const std::string &key, T &destination) const
std::unordered_map< std::string, PortInfo > PortsList
void setRegistrationID(StringView ID)
NodeStatus status() const
virtual BT::NodeStatus executeTick()
The method that should be used to invoke tick() and setStatus();.
static PortsList providedPorts()
std::pair< std::string, PortInfo > InputPort(StringView name, StringView description={})
void setStatus(NodeStatus new_status)
BlackboardPreconditionNode(const std::string &name, const NodeConfiguration &config)