39 rclcpp::Serialization<InterfaceT> serializer;
40 rclcpp::SerializedMessage serialized_message;
41 serializer.serialize_message(&interface_value, &serialized_message);
43 const auto &rcl_serialized_message =
44 serialized_message.get_rcl_serialized_message();
46 return std::vector<uint8_t>(rcl_serialized_message.buffer,
47 rcl_serialized_message.buffer +
48 rcl_serialized_message.buffer_length);
61 rclcpp::Serialization<InterfaceT> serializer;
62 rclcpp::SerializedMessage serialized_message(serialized_data.size());
64 auto &rcl_serialized_message =
65 serialized_message.get_rcl_serialized_message();
67 if (!serialized_data.empty()) {
68 std::memcpy(rcl_serialized_message.buffer, serialized_data.data(),
69 serialized_data.size());
72 rcl_serialized_message.buffer_length = serialized_data.size();
74 InterfaceT interface_value;
75 serializer.deserialize_message(&serialized_message, &interface_value);
77 return interface_value;
InterfaceT deserialize_interface(const std::vector< uint8_t > &serialized_data)
Deserialize a ROS 2 interface instance from a byte array.
Definition interface_serialization.hpp:60
std::vector< uint8_t > serialize_interface(const InterfaceT &interface_value)
Serialize a ROS 2 interface instance to a byte array.
Definition interface_serialization.hpp:38