Update const callbacks
This commit is contained in:
parent
3294098602
commit
ea9d3306d7
1 changed files with 30 additions and 30 deletions
|
@ -94,46 +94,46 @@ struct AnySubscriptionCallback
|
|||
>::value
|
||||
>::type * = nullptr)
|
||||
{
|
||||
static_assert(std::is_same<
|
||||
typename function_traits<CallbackT>::template argument_type<1>,
|
||||
const rmw_message_info_t &>::value,
|
||||
"Passed incorrect argument type to callback, should be rmw_message_info_t");
|
||||
shared_ptr_with_info_callback = callback;
|
||||
}
|
||||
|
||||
template<typename CallbackT,
|
||||
typename std::enable_if<
|
||||
function_traits<CallbackT>::arity == 1
|
||||
>::type * = nullptr,
|
||||
typename std::enable_if<
|
||||
std::is_same<
|
||||
typename function_traits<CallbackT>::template argument_type<0>,
|
||||
typename std::shared_ptr<const MessageT>
|
||||
>::value
|
||||
>::type * = nullptr
|
||||
template<
|
||||
typename CallbackT,
|
||||
std::size_t Arity = 1
|
||||
>
|
||||
void set(CallbackT callback)
|
||||
typename std::enable_if<rclcpp::arity_comparator<Arity, CallbackT>::value, void>::type
|
||||
set(
|
||||
CallbackT callback,
|
||||
typename std::enable_if<
|
||||
std::is_same<
|
||||
typename function_traits<CallbackT>::template argument_type<0>,
|
||||
typename std::shared_ptr<const MessageT>
|
||||
>::value
|
||||
>::type * = nullptr)
|
||||
{
|
||||
const_shared_ptr_callback = callback;
|
||||
}
|
||||
|
||||
template<typename CallbackT,
|
||||
typename std::enable_if<
|
||||
function_traits<CallbackT>::arity == 2
|
||||
>::type * = nullptr,
|
||||
typename std::enable_if<
|
||||
std::is_same<
|
||||
typename function_traits<CallbackT>::template argument_type<0>,
|
||||
typename std::shared_ptr<const MessageT>
|
||||
>::value
|
||||
>::type * = nullptr
|
||||
template<
|
||||
typename CallbackT,
|
||||
std::size_t Arity = 2
|
||||
>
|
||||
void set(CallbackT callback)
|
||||
{
|
||||
static_assert(std::is_same<
|
||||
typename std::enable_if<rclcpp::arity_comparator<Arity, CallbackT>::value, void>::type
|
||||
set(
|
||||
CallbackT callback,
|
||||
typename std::enable_if<
|
||||
std::is_same<
|
||||
typename function_traits<CallbackT>::template argument_type<0>,
|
||||
typename std::shared_ptr<const MessageT>
|
||||
>::value
|
||||
>::type * = nullptr,
|
||||
typename std::enable_if<
|
||||
std::is_same<
|
||||
typename function_traits<CallbackT>::template argument_type<1>,
|
||||
const rmw_message_info_t &>::value,
|
||||
"Passed incorrect argument type to callback, should be rmw_message_info_t");
|
||||
const rmw_message_info_t &
|
||||
>::value
|
||||
>::type * = nullptr)
|
||||
{
|
||||
const_shared_ptr_with_info_callback = callback;
|
||||
}
|
||||
/*
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue