15 #ifndef RCLCPP__SUBSCRIPTION_TRAITS_HPP_
16 #define RCLCPP__SUBSCRIPTION_TRAITS_HPP_
20 #include "rclcpp/function_traits.hpp"
21 #include "rclcpp/serialized_message.hpp"
22 #include "rclcpp/subscription_options.hpp"
30 namespace subscription_traits
58 template<
typename CallbackT>
61 typename rclcpp::function_traits::function_traits<CallbackT>::template argument_type<0>>
64 template<
typename MessageT>
67 using type =
typename std::remove_cv_t<std::remove_reference_t<MessageT>>;
70 template<
typename MessageT>
74 template<
typename MessageT,
typename Deleter>
80 typename AllocatorT = std::allocator<void>,
82 typename = std::enable_if_t<!std::is_integral<
83 std::remove_cv_t<std::remove_reference_t<CallbackT>>>::value>,
85 typename = std::enable_if_t<!std::is_base_of<
87 std::remove_cv_t<std::remove_reference_t<CallbackT>>>::value>,
89 typename = std::enable_if_t<!std::is_same<
91 std::remove_cv_t<std::remove_reference_t<CallbackT>>>::value>,
93 typename = std::enable_if_t<!std::is_same<
95 std::remove_cv_t<std::remove_reference_t<CallbackT>>>::value>
98 typename rclcpp::function_traits::function_traits<CallbackT>::template argument_type<0>>
Encapsulation of Quality of Service settings.
Object oriented version of rcl_serialized_message_t with destructor to avoid memory leaks.
Versions of rosidl_typesupport_cpp::get_message_type_support_handle that handle adapted types.
Structure containing optional configuration for Subscriptions.