adapt subscription traits to rclcpp::SerializedMessage (#1092)
Signed-off-by: Karsten Knese <karsten@openrobotics.org>
This commit is contained in:
parent
c3d599fc8c
commit
e64022f753
3 changed files with 6 additions and 19 deletions
|
@ -39,10 +39,6 @@ template<typename T>
|
||||||
struct is_serialized_message_class : std::false_type
|
struct is_serialized_message_class : std::false_type
|
||||||
{};
|
{};
|
||||||
|
|
||||||
template<>
|
|
||||||
struct is_serialized_message_class<rcl_serialized_message_t>: std::true_type
|
|
||||||
{};
|
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct is_serialized_message_class<SerializedMessage>: std::true_type
|
struct is_serialized_message_class<SerializedMessage>: std::true_type
|
||||||
{};
|
{};
|
||||||
|
|
|
@ -42,15 +42,6 @@ template<typename T>
|
||||||
struct is_serialized_subscription_argument : std::false_type
|
struct is_serialized_subscription_argument : std::false_type
|
||||||
{};
|
{};
|
||||||
|
|
||||||
template<>
|
|
||||||
struct is_serialized_subscription_argument<rcl_serialized_message_t>: std::true_type
|
|
||||||
{};
|
|
||||||
|
|
||||||
template<>
|
|
||||||
struct is_serialized_subscription_argument<std::shared_ptr<rcl_serialized_message_t>>
|
|
||||||
: std::true_type
|
|
||||||
{};
|
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
struct is_serialized_subscription_argument<SerializedMessage>: std::true_type
|
struct is_serialized_subscription_argument<SerializedMessage>: std::true_type
|
||||||
{};
|
{};
|
||||||
|
|
|
@ -67,13 +67,13 @@ TEST(TestSubscriptionTraits, is_serialized_callback) {
|
||||||
// Test regular functions
|
// Test regular functions
|
||||||
auto cb1 = &serialized_callback_copy;
|
auto cb1 = &serialized_callback_copy;
|
||||||
static_assert(
|
static_assert(
|
||||||
rclcpp::subscription_traits::is_serialized_callback<decltype(cb1)>::value == true,
|
rclcpp::subscription_traits::is_serialized_callback<decltype(cb1)>::value == false,
|
||||||
"rcl_serialized_message_t in a first argument callback makes it a serialized callback");
|
"passing a rcl_serialized_message_t * is not a serialized callback");
|
||||||
|
|
||||||
auto cb2 = &serialized_callback_shared_ptr;
|
auto cb2 = &serialized_callback_shared_ptr;
|
||||||
static_assert(
|
static_assert(
|
||||||
rclcpp::subscription_traits::is_serialized_callback<decltype(cb2)>::value == true,
|
rclcpp::subscription_traits::is_serialized_callback<decltype(cb2)>::value == false,
|
||||||
"std::shared_ptr<rcl_serialized_message_t> in a callback makes it a serialized callback");
|
"passing a std::shared_ptr<rcl_serialized_message_t> is not a serialized callback");
|
||||||
|
|
||||||
auto cb3 = ¬_serialized_callback;
|
auto cb3 = ¬_serialized_callback;
|
||||||
static_assert(
|
static_assert(
|
||||||
|
@ -90,8 +90,8 @@ TEST(TestSubscriptionTraits, is_serialized_callback) {
|
||||||
(void) unused;
|
(void) unused;
|
||||||
};
|
};
|
||||||
static_assert(
|
static_assert(
|
||||||
rclcpp::subscription_traits::is_serialized_callback<decltype(cb5)>::value == true,
|
rclcpp::subscription_traits::is_serialized_callback<decltype(cb5)>::value == false,
|
||||||
"rcl_serialized_message_t in a first argument callback makes it a serialized callback");
|
"passing rcl_serialized_message_t is not a serialized callback");
|
||||||
|
|
||||||
using MessageT = test_msgs::msg::Empty;
|
using MessageT = test_msgs::msg::Empty;
|
||||||
using MessageTAllocator = std::allocator<void>;
|
using MessageTAllocator = std::allocator<void>;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue