rclcpp
master
C++ ROS Client Library API
|
A publisher publishes messages of any type to a topic. More...
#include <publisher.hpp>
Public Types | |
using | MessageAllocTraits = allocator::AllocRebind< MessageT, Alloc > |
using | MessageAlloc = typename MessageAllocTraits::allocator_type |
using | MessageDeleter = allocator::Deleter< MessageAlloc, MessageT > |
using | MessageUniquePtr = std::unique_ptr< MessageT, MessageDeleter > |
Public Types inherited from rclcpp::publisher::PublisherBase | |
using | StoreMessageCallbackT = std::function< uint64_t(uint64_t, void *, const std::type_info &)> |
Public Member Functions | |
Publisher (rclcpp::node_interfaces::NodeBaseInterface *node_base, const std::string &topic, const rcl_publisher_options_t &publisher_options, const std::shared_ptr< MessageAlloc > &allocator) | |
virtual | ~Publisher () |
virtual void | publish (std::unique_ptr< MessageT, MessageDeleter > &msg) |
Send a message to the topic for this publisher. More... | |
virtual void | publish (const std::shared_ptr< MessageT > &msg) |
virtual void | publish (std::shared_ptr< const MessageT > msg) |
virtual void | publish (const MessageT &msg) |
virtual void | publish (const MessageT *msg) |
std::shared_ptr< MessageAlloc > | get_allocator () const |
Public Member Functions inherited from rclcpp::publisher::PublisherBase | |
PublisherBase (rclcpp::node_interfaces::NodeBaseInterface *node_base, const std::string &topic, const rosidl_message_type_support_t &type_support, const rcl_publisher_options_t &publisher_options) | |
Default constructor. More... | |
virtual | ~PublisherBase () |
const char * | get_topic_name () const |
Get the topic that this publisher publishes on. More... | |
size_t | get_queue_size () const |
Get the queue size for this publisher. More... | |
const rmw_gid_t & | get_gid () const |
Get the global identifier for this publisher (used in rmw and by DDS). More... | |
const rmw_gid_t & | get_intra_process_gid () const |
Get the global identifier for this publisher used by intra-process communication. More... | |
bool | operator== (const rmw_gid_t &gid) const |
Compare this publisher to a gid. More... | |
bool | operator== (const rmw_gid_t *gid) const |
Compare this publisher to a pointer gid. More... | |
void | setup_intra_process (uint64_t intra_process_publisher_id, StoreMessageCallbackT callback, const rcl_publisher_options_t &intra_process_options) |
Implementation utility function used to setup intra process publishing after creation. More... | |
Protected Member Functions | |
void | do_inter_process_publish (const MessageT *msg) |
Protected Attributes | |
std::shared_ptr< MessageAlloc > | message_allocator_ |
MessageDeleter | message_deleter_ |
Protected Attributes inherited from rclcpp::publisher::PublisherBase | |
std::shared_ptr< rcl_node_t > | rcl_node_handle_ |
rcl_publisher_t | publisher_handle_ = rcl_get_zero_initialized_publisher() |
rcl_publisher_t | intra_process_publisher_handle_ = rcl_get_zero_initialized_publisher() |
uint64_t | intra_process_publisher_id_ |
StoreMessageCallbackT | store_intra_process_message_ |
rmw_gid_t | rmw_gid_ |
rmw_gid_t | intra_process_rmw_gid_ |
A publisher publishes messages of any type to a topic.
using rclcpp::publisher::Publisher< MessageT, Alloc >::MessageAllocTraits = allocator::AllocRebind<MessageT, Alloc> |
using rclcpp::publisher::Publisher< MessageT, Alloc >::MessageAlloc = typename MessageAllocTraits::allocator_type |
using rclcpp::publisher::Publisher< MessageT, Alloc >::MessageDeleter = allocator::Deleter<MessageAlloc, MessageT> |
using rclcpp::publisher::Publisher< MessageT, Alloc >::MessageUniquePtr = std::unique_ptr<MessageT, MessageDeleter> |
|
inline |
|
inlinevirtual |
|
inlinevirtual |
Send a message to the topic for this publisher.
This function is templated on the input message type, MessageT.
[in] | msg | A shared pointer to the message to send. |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inline |
|
inlineprotected |
|
protected |
|
protected |