Define RCLCPP_NODE_INTERFACE_HELPERS_SUPPORT

Define Documentation

RCLCPP_NODE_INTERFACE_HELPERS_SUPPORT(NodeInterfaceType, NodeInterfaceName)

Macro for creating specializations with less boilerplate.

You can use this macro to add support for your interface class if:

  • The standard getter is get_node_{NodeInterfaceName}_interface(), and

  • the getter returns a non-const shared_ptr<{NodeInterfaceType}>

Examples of using this can be seen in the standard node interface headers in rclcpp, e.g. rclcpp/node_interfaces/node_base_interface.hpp has:

RCLCPP_NODE_INTERFACE_HELPERS_SUPPORT(rclcpp::node_interfaces::NodeBaseInterface, base)

If your interface has a non-standard getter, or you want to instrument it or something like that, then you’ll need to create your own specialization of the NodeInterfacesSupports struct without this macro.