rclcpp
master
C++ ROS Client Library API
|
Object oriented version of rcl_serialized_message_t with destructor to avoid memory leaks. More...
#include <serialized_message.hpp>
Public Member Functions | |
SerializedMessage (const rcl_allocator_t &allocator=rcl_get_default_allocator()) | |
Default constructor for a SerializedMessage. More... | |
SerializedMessage (size_t initial_capacity, const rcl_allocator_t &allocator=rcl_get_default_allocator()) | |
Default constructor for a SerializedMessage. More... | |
SerializedMessage (const SerializedMessage &other) | |
Copy Constructor for a SerializedMessage. More... | |
SerializedMessage (const rcl_serialized_message_t &other) | |
Constructor for a SerializedMessage from a rcl_serialized_message_t. More... | |
SerializedMessage (SerializedMessage &&other) | |
Move Constructor for a SerializedMessage. More... | |
SerializedMessage (rcl_serialized_message_t &&other) | |
Constructor for a SerializedMessage from a moved rcl_serialized_message_t. More... | |
SerializedMessage & | operator= (const SerializedMessage &other) |
Copy assignment operator. More... | |
SerializedMessage & | operator= (const rcl_serialized_message_t &other) |
Copy assignment operator from a rcl_serialized_message_t. More... | |
SerializedMessage & | operator= (SerializedMessage &&other) |
Move assignment operator. More... | |
SerializedMessage & | operator= (rcl_serialized_message_t &&other) |
Move assignment operator from a rcl_serialized_message_t. More... | |
virtual | ~SerializedMessage () |
Destructor for a SerializedMessage. More... | |
rcl_serialized_message_t & | get_rcl_serialized_message () |
Get the underlying rcl_serialized_t handle. More... | |
const rcl_serialized_message_t & | get_rcl_serialized_message () const |
size_t | size () const |
Get the size of the serialized data buffer. More... | |
size_t | capacity () const |
Get the size of allocated memory for the data buffer. More... | |
void | reserve (size_t capacity) |
Allocate memory in the data buffer. More... | |
rcl_serialized_message_t | release_rcl_serialized_message () |
Release the underlying rcl_serialized_message_t. More... | |
Object oriented version of rcl_serialized_message_t with destructor to avoid memory leaks.
|
explicit |
Default constructor for a SerializedMessage.
Default constructs a serialized message and initalizes it with initial capacity of 0. The allocator defaults to rcl_get_default_allocator()
.
[in] | allocator | The allocator to be used for the initialization. |
rclcpp::SerializedMessage::SerializedMessage | ( | size_t | initial_capacity, |
const rcl_allocator_t & | allocator = rcl_get_default_allocator() |
||
) |
Default constructor for a SerializedMessage.
Default constructs a serialized message and initalizes it with the provided capacity. The allocator defaults to rcl_get_default_allocator()
.
[in] | initial_capacity | The amount of memory to be allocated. |
[in] | allocator | The allocator to be used for the initialization. |
rclcpp::SerializedMessage::SerializedMessage | ( | const SerializedMessage & | other | ) |
Copy Constructor for a SerializedMessage.
|
explicit |
Constructor for a SerializedMessage from a rcl_serialized_message_t.
rclcpp::SerializedMessage::SerializedMessage | ( | SerializedMessage && | other | ) |
Move Constructor for a SerializedMessage.
|
explicit |
Constructor for a SerializedMessage from a moved rcl_serialized_message_t.
|
virtual |
Destructor for a SerializedMessage.
SerializedMessage& rclcpp::SerializedMessage::operator= | ( | const SerializedMessage & | other | ) |
Copy assignment operator.
SerializedMessage& rclcpp::SerializedMessage::operator= | ( | const rcl_serialized_message_t & | other | ) |
Copy assignment operator from a rcl_serialized_message_t.
SerializedMessage& rclcpp::SerializedMessage::operator= | ( | SerializedMessage && | other | ) |
Move assignment operator.
SerializedMessage& rclcpp::SerializedMessage::operator= | ( | rcl_serialized_message_t && | other | ) |
Move assignment operator from a rcl_serialized_message_t.
rcl_serialized_message_t& rclcpp::SerializedMessage::get_rcl_serialized_message | ( | ) |
Get the underlying rcl_serialized_t handle.
const rcl_serialized_message_t& rclcpp::SerializedMessage::get_rcl_serialized_message | ( | ) | const |
size_t rclcpp::SerializedMessage::size | ( | ) | const |
Get the size of the serialized data buffer.
Note, this is different from the actual amount of allocated memory. This can be obtained via a call to capacity
.
size_t rclcpp::SerializedMessage::capacity | ( | ) | const |
Get the size of allocated memory for the data buffer.
Note, this is different from the amount of content in the buffer. This can be obtained via a call to size
.
void rclcpp::SerializedMessage::reserve | ( | size_t | capacity | ) |
Allocate memory in the data buffer.
The data buffer of the underlying rcl_serialized_message_t will be resized. This might change the data layout and invalidates all pointers to the data.
rcl_serialized_message_t rclcpp::SerializedMessage::release_rcl_serialized_message | ( | ) |
Release the underlying rcl_serialized_message_t.
The memory (i.e. the data buffer) of the serialized message will no longer be managed by this instance and the memory won't be deallocated on destruction.