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
|
>::value
|
||||||
>::type * = nullptr)
|
>::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;
|
shared_ptr_with_info_callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename CallbackT,
|
template<
|
||||||
typename std::enable_if<
|
typename CallbackT,
|
||||||
function_traits<CallbackT>::arity == 1
|
std::size_t Arity = 1
|
||||||
>::type * = nullptr,
|
>
|
||||||
|
typename std::enable_if<rclcpp::arity_comparator<Arity, CallbackT>::value, void>::type
|
||||||
|
set(
|
||||||
|
CallbackT callback,
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_same<
|
std::is_same<
|
||||||
typename function_traits<CallbackT>::template argument_type<0>,
|
typename function_traits<CallbackT>::template argument_type<0>,
|
||||||
typename std::shared_ptr<const MessageT>
|
typename std::shared_ptr<const MessageT>
|
||||||
>::value
|
>::value
|
||||||
>::type * = nullptr
|
>::type * = nullptr)
|
||||||
>
|
|
||||||
void set(CallbackT callback)
|
|
||||||
{
|
{
|
||||||
const_shared_ptr_callback = callback;
|
const_shared_ptr_callback = callback;
|
||||||
}
|
}
|
||||||
|
|
||||||
template<typename CallbackT,
|
template<
|
||||||
typename std::enable_if<
|
typename CallbackT,
|
||||||
function_traits<CallbackT>::arity == 2
|
std::size_t Arity = 2
|
||||||
>::type * = nullptr,
|
>
|
||||||
|
typename std::enable_if<rclcpp::arity_comparator<Arity, CallbackT>::value, void>::type
|
||||||
|
set(
|
||||||
|
CallbackT callback,
|
||||||
typename std::enable_if<
|
typename std::enable_if<
|
||||||
std::is_same<
|
std::is_same<
|
||||||
typename function_traits<CallbackT>::template argument_type<0>,
|
typename function_traits<CallbackT>::template argument_type<0>,
|
||||||
typename std::shared_ptr<const MessageT>
|
typename std::shared_ptr<const MessageT>
|
||||||
>::value
|
>::value
|
||||||
>::type * = nullptr
|
>::type * = nullptr,
|
||||||
>
|
typename std::enable_if<
|
||||||
void set(CallbackT callback)
|
std::is_same<
|
||||||
{
|
|
||||||
static_assert(std::is_same<
|
|
||||||
typename function_traits<CallbackT>::template argument_type<1>,
|
typename function_traits<CallbackT>::template argument_type<1>,
|
||||||
const rmw_message_info_t &>::value,
|
const rmw_message_info_t &
|
||||||
"Passed incorrect argument type to callback, should be rmw_message_info_t");
|
>::value
|
||||||
|
>::type * = nullptr)
|
||||||
|
{
|
||||||
const_shared_ptr_with_info_callback = callback;
|
const_shared_ptr_with_info_callback = callback;
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue