-
Notifications
You must be signed in to change notification settings - Fork 469
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
I would find handy to have in rclcpp
C++ traits like (draft):
rclcpp::is_node<typename T>
rclcpp::is_node_v<typename T>
rclcpp::is_lifecycle_node<typename T>
rclcpp::is_lifecycle_node_v<typename T>
they can be easily implemented via std::is_base_of
.
the is_node
trait may be ambiguous. We can:
- return true for both
rclcpp::Node
andrclcpp::LifecycleNode
(and use theis_lifecycle_node
to further discriminate among the two) - return true ONLY for
rclcpp::Node
I see there are traits for other things like subscriptions and so on in the library, but before drafting a PR I'd like some feedback (or tell me if it is something it's better not to put in rclcpp
).
Motivation
Mainly, this would help distinguish between normal nodes and lifecycle nodes, write better templates and so on.
Design / Implementation Considerations
No response
Additional Information
No response
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request