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 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
{}; {};

View file

@ -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
{}; {};

View file

@ -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 = &not_serialized_callback; auto cb3 = &not_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>;