rclcpp  master
C++ ROS Client Library API
Public Member Functions | List of all members
rclcpp::SerializedMessage Class Reference

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...
 
SerializedMessageoperator= (const SerializedMessage &other)
 Copy assignment operator. More...
 
SerializedMessageoperator= (const rcl_serialized_message_t &other)
 Copy assignment operator from a rcl_serialized_message_t. More...
 
SerializedMessageoperator= (SerializedMessage &&other)
 Move assignment operator. More...
 
SerializedMessageoperator= (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_tget_rcl_serialized_message ()
 Get the underlying rcl_serialized_t handle. More...
 
const rcl_serialized_message_tget_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...
 

Detailed Description

Object oriented version of rcl_serialized_message_t with destructor to avoid memory leaks.

Constructor & Destructor Documentation

◆ SerializedMessage() [1/6]

rclcpp::SerializedMessage::SerializedMessage ( const rcl_allocator_t allocator = rcl_get_default_allocator())
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().

Parameters
[in]allocatorThe allocator to be used for the initialization.

◆ SerializedMessage() [2/6]

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().

Parameters
[in]initial_capacityThe amount of memory to be allocated.
[in]allocatorThe allocator to be used for the initialization.

◆ SerializedMessage() [3/6]

rclcpp::SerializedMessage::SerializedMessage ( const SerializedMessage other)

Copy Constructor for a SerializedMessage.

◆ SerializedMessage() [4/6]

rclcpp::SerializedMessage::SerializedMessage ( const rcl_serialized_message_t other)
explicit

Constructor for a SerializedMessage from a rcl_serialized_message_t.

◆ SerializedMessage() [5/6]

rclcpp::SerializedMessage::SerializedMessage ( SerializedMessage &&  other)

Move Constructor for a SerializedMessage.

◆ SerializedMessage() [6/6]

rclcpp::SerializedMessage::SerializedMessage ( rcl_serialized_message_t &&  other)
explicit

Constructor for a SerializedMessage from a moved rcl_serialized_message_t.

◆ ~SerializedMessage()

virtual rclcpp::SerializedMessage::~SerializedMessage ( )
virtual

Destructor for a SerializedMessage.

Member Function Documentation

◆ operator=() [1/4]

SerializedMessage& rclcpp::SerializedMessage::operator= ( const SerializedMessage other)

Copy assignment operator.

◆ operator=() [2/4]

SerializedMessage& rclcpp::SerializedMessage::operator= ( const rcl_serialized_message_t other)

Copy assignment operator from a rcl_serialized_message_t.

◆ operator=() [3/4]

SerializedMessage& rclcpp::SerializedMessage::operator= ( SerializedMessage &&  other)

Move assignment operator.

◆ operator=() [4/4]

SerializedMessage& rclcpp::SerializedMessage::operator= ( rcl_serialized_message_t &&  other)

Move assignment operator from a rcl_serialized_message_t.

◆ get_rcl_serialized_message() [1/2]

rcl_serialized_message_t& rclcpp::SerializedMessage::get_rcl_serialized_message ( )

Get the underlying rcl_serialized_t handle.

◆ get_rcl_serialized_message() [2/2]

const rcl_serialized_message_t& rclcpp::SerializedMessage::get_rcl_serialized_message ( ) const

◆ size()

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.

◆ 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.

◆ reserve()

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.

◆ release_rcl_serialized_message()

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.


The documentation for this class was generated from the following file: