adapt subscription traits to rclcpp::SerializedMessage (#1092)

Signed-off-by: Karsten Knese <karsten@openrobotics.org>
This commit is contained in:
Karsten Knese 2020-04-23 11:09:40 -07:00 committed by GitHub
parent c3d599fc8c
commit e64022f753
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 6 additions and 19 deletions

View file

@ -39,10 +39,6 @@ template<typename T>
struct is_serialized_message_class : std::false_type
{};
template<>
struct is_serialized_message_class<rcl_serialized_message_t>: std::true_type
{};
template<>
struct is_serialized_message_class<SerializedMessage>: std::true_type
{};

View file

@ -42,15 +42,6 @@ template<typename T>
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<>
struct is_serialized_subscription_argument<SerializedMessage>: std::true_type
{};

View file

@ -67,13 +67,13 @@ TEST(TestSubscriptionTraits, is_serialized_callback) {
// Test regular functions
auto cb1 = &serialized_callback_copy;
static_assert(
rclcpp::subscription_traits::is_serialized_callback<decltype(cb1)>::value == true,
"rcl_serialized_message_t in a first argument callback makes it a serialized callback");
rclcpp::subscription_traits::is_serialized_callback<decltype(cb1)>::value == false,
"passing a rcl_serialized_message_t * is not a serialized callback");
auto cb2 = &serialized_callback_shared_ptr;
static_assert(
rclcpp::subscription_traits::is_serialized_callback<decltype(cb2)>::value == true,
"std::shared_ptr<rcl_serialized_message_t> in a callback makes it a serialized callback");
rclcpp::subscription_traits::is_serialized_callback<decltype(cb2)>::value == false,
"passing a std::shared_ptr<rcl_serialized_message_t> is not a serialized callback");
auto cb3 = &not_serialized_callback;
static_assert(
@ -90,8 +90,8 @@ TEST(TestSubscriptionTraits, is_serialized_callback) {
(void) unused;
};
static_assert(
rclcpp::subscription_traits::is_serialized_callback<decltype(cb5)>::value == true,
"rcl_serialized_message_t in a first argument callback makes it a serialized callback");
rclcpp::subscription_traits::is_serialized_callback<decltype(cb5)>::value == false,
"passing rcl_serialized_message_t is not a serialized callback");
using MessageT = test_msgs::msg::Empty;
using MessageTAllocator = std::allocator<void>;