Public Types | Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
ros::MessageEvent< M > Class Template Reference

Event type for subscriptions, const ros::MessageEvent<M const>& can be used in your callback instead of const boost::shared_ptr<M const>&. More...

#include <message_event.h>

Public Types

typedef boost::add_const< M >::type ConstMessage
 
typedef boost::shared_ptr< ConstMessageConstMessagePtr
 
typedef boost::function< MessagePtr()> CreateFunction
 
typedef boost::remove_const< M >::type Message
 
typedef boost::shared_ptr< MessageMessagePtr
 

Public Member Functions

M_stringgetConnectionHeader () const
 Retrieve the connection header. More...
 
const boost::shared_ptr< M_string > & getConnectionHeaderPtr () const
 
const boost::shared_ptr< ConstMessage > & getConstMessage () const
 Retrieve a const version of the message. More...
 
boost::shared_ptr< M > getMessage () const
 Retrieve the message. If M is const, this returns a reference to it. If M is non const and this event requires it, returns a copy. Note that it caches this copy for later use, so it will only every make the copy once. More...
 
const CreateFunctiongetMessageFactory () const
 
bool getMessageWillCopy () const
 
const std::string & getPublisherName () const
 Returns the name of the node which published this message. More...
 
ros::Time getReceiptTime () const
 Returns the time at which this message was received. More...
 
void init (const ConstMessagePtr &message, const boost::shared_ptr< M_string > &connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction &create)
 
 MessageEvent ()
 
 MessageEvent (const MessageEvent< Message > &rhs)
 
 MessageEvent (const MessageEvent< ConstMessage > &rhs)
 
 MessageEvent (const MessageEvent< Message > &rhs, bool nonconst_need_copy)
 
 MessageEvent (const MessageEvent< ConstMessage > &rhs, bool nonconst_need_copy)
 
 MessageEvent (const MessageEvent< void const > &rhs, const CreateFunction &create)
 
 MessageEvent (const ConstMessagePtr &message)
 
 MessageEvent (const ConstMessagePtr &message, const boost::shared_ptr< M_string > &connection_header, ros::Time receipt_time)
 
 MessageEvent (const ConstMessagePtr &message, ros::Time receipt_time)
 
 MessageEvent (const ConstMessagePtr &message, const boost::shared_ptr< M_string > &connection_header, ros::Time receipt_time, bool nonconst_need_copy, const CreateFunction &create)
 
bool nonConstWillCopy () const
 
bool operator!= (const MessageEvent< M > &rhs)
 
bool operator< (const MessageEvent< M > &rhs)
 
void operator= (const MessageEvent< Message > &rhs)
 
void operator= (const MessageEvent< ConstMessage > &rhs)
 
bool operator== (const MessageEvent< M > &rhs)
 

Private Member Functions

template<typename M2 >
boost::disable_if< boost::is_void< M2 >, boost::shared_ptr< M > >::type copyMessageIfNecessary () const
 
template<typename M2 >
boost::enable_if< boost::is_void< M2 >, boost::shared_ptr< M > >::type copyMessageIfNecessary () const
 

Private Attributes

boost::shared_ptr< M_stringconnection_header_
 
CreateFunction create_
 
ConstMessagePtr message_
 
MessagePtr message_copy_
 
bool nonconst_need_copy_
 
ros::Time receipt_time_
 

Static Private Attributes

static const std::string s_unknown_publisher_string_
 

Detailed Description

template<typename M>
class ros::MessageEvent< M >

Event type for subscriptions, const ros::MessageEvent<M const>& can be used in your callback instead of const boost::shared_ptr<M const>&.

Useful if you need to retrieve meta-data about the message, such as the full connection header, or the publisher's node name

Definition at line 69 of file message_event.h.

Member Typedef Documentation

template<typename M>
typedef boost::add_const<M>::type ros::MessageEvent< M >::ConstMessage

Definition at line 72 of file message_event.h.

template<typename M>
typedef boost::shared_ptr<ConstMessage> ros::MessageEvent< M >::ConstMessagePtr

Definition at line 75 of file message_event.h.

template<typename M>
typedef boost::function<MessagePtr()> ros::MessageEvent< M >::CreateFunction

Definition at line 76 of file message_event.h.

template<typename M>
typedef boost::remove_const<M>::type ros::MessageEvent< M >::Message

Definition at line 73 of file message_event.h.

template<typename M>
typedef boost::shared_ptr<Message> ros::MessageEvent< M >::MessagePtr

Definition at line 74 of file message_event.h.

Constructor & Destructor Documentation

template<typename M>
ros::MessageEvent< M >::MessageEvent ( )
inline

Definition at line 78 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const MessageEvent< Message > &  rhs)
inline

Definition at line 82 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const MessageEvent< ConstMessage > &  rhs)
inline

Definition at line 87 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const MessageEvent< Message > &  rhs,
bool  nonconst_need_copy 
)
inline

Definition at line 92 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const MessageEvent< ConstMessage > &  rhs,
bool  nonconst_need_copy 
)
inline

Definition at line 98 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const MessageEvent< void const > &  rhs,
const CreateFunction create 
)
inline

Definition at line 104 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const ConstMessagePtr message)
inline
Todo:
Make this explicit in ROS 2.0. Keep as auto-converting for now to maintain backwards compatibility in some places (message_filters)

Definition at line 112 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const ConstMessagePtr message,
const boost::shared_ptr< M_string > &  connection_header,
ros::Time  receipt_time 
)
inline

Definition at line 117 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const ConstMessagePtr message,
ros::Time  receipt_time 
)
inline

Definition at line 122 of file message_event.h.

template<typename M>
ros::MessageEvent< M >::MessageEvent ( const ConstMessagePtr message,
const boost::shared_ptr< M_string > &  connection_header,
ros::Time  receipt_time,
bool  nonconst_need_copy,
const CreateFunction create 
)
inline

Definition at line 127 of file message_event.h.

Member Function Documentation

template<typename M>
template<typename M2 >
boost::disable_if<boost::is_void<M2>, boost::shared_ptr<M> >::type ros::MessageEvent< M >::copyMessageIfNecessary ( ) const
inlineprivate

Definition at line 215 of file message_event.h.

template<typename M>
template<typename M2 >
boost::enable_if<boost::is_void<M2>, boost::shared_ptr<M> >::type ros::MessageEvent< M >::copyMessageIfNecessary ( ) const
inlineprivate

Definition at line 235 of file message_event.h.

template<typename M>
M_string& ros::MessageEvent< M >::getConnectionHeader ( ) const
inline

Retrieve the connection header.

Definition at line 170 of file message_event.h.

template<typename M>
const boost::shared_ptr<M_string>& ros::MessageEvent< M >::getConnectionHeaderPtr ( ) const
inline

Definition at line 171 of file message_event.h.

template<typename M>
const boost::shared_ptr<ConstMessage>& ros::MessageEvent< M >::getConstMessage ( ) const
inline

Retrieve a const version of the message.

Definition at line 166 of file message_event.h.

template<typename M>
boost::shared_ptr<M> ros::MessageEvent< M >::getMessage ( ) const
inline

Retrieve the message. If M is const, this returns a reference to it. If M is non const and this event requires it, returns a copy. Note that it caches this copy for later use, so it will only every make the copy once.

Definition at line 158 of file message_event.h.

template<typename M>
const CreateFunction& ros::MessageEvent< M >::getMessageFactory ( ) const
inline

Definition at line 211 of file message_event.h.

template<typename M>
bool ros::MessageEvent< M >::getMessageWillCopy ( ) const
inline

Definition at line 184 of file message_event.h.

template<typename M>
const std::string& ros::MessageEvent< M >::getPublisherName ( ) const
inline

Returns the name of the node which published this message.

Definition at line 176 of file message_event.h.

template<typename M>
ros::Time ros::MessageEvent< M >::getReceiptTime ( ) const
inline

Returns the time at which this message was received.

Definition at line 181 of file message_event.h.

template<typename M>
void ros::MessageEvent< M >::init ( const ConstMessagePtr message,
const boost::shared_ptr< M_string > &  connection_header,
ros::Time  receipt_time,
bool  nonconst_need_copy,
const CreateFunction create 
)
inline

Definition at line 132 of file message_event.h.

template<typename M>
bool ros::MessageEvent< M >::nonConstWillCopy ( ) const
inline

Definition at line 183 of file message_event.h.

template<typename M>
bool ros::MessageEvent< M >::operator!= ( const MessageEvent< M > &  rhs)
inline

Definition at line 206 of file message_event.h.

template<typename M>
bool ros::MessageEvent< M >::operator< ( const MessageEvent< M > &  rhs)
inline

Definition at line 186 of file message_event.h.

template<typename M>
void ros::MessageEvent< M >::operator= ( const MessageEvent< Message > &  rhs)
inline

Definition at line 141 of file message_event.h.

template<typename M>
void ros::MessageEvent< M >::operator= ( const MessageEvent< ConstMessage > &  rhs)
inline

Definition at line 147 of file message_event.h.

template<typename M>
bool ros::MessageEvent< M >::operator== ( const MessageEvent< M > &  rhs)
inline

Definition at line 201 of file message_event.h.

Member Data Documentation

template<typename M>
boost::shared_ptr<M_string> ros::MessageEvent< M >::connection_header_
private

Definition at line 243 of file message_event.h.

template<typename M>
CreateFunction ros::MessageEvent< M >::create_
private

Definition at line 246 of file message_event.h.

template<typename M>
ConstMessagePtr ros::MessageEvent< M >::message_
private

Definition at line 240 of file message_event.h.

template<typename M>
MessagePtr ros::MessageEvent< M >::message_copy_
mutableprivate

Definition at line 242 of file message_event.h.

template<typename M>
bool ros::MessageEvent< M >::nonconst_need_copy_
private

Definition at line 245 of file message_event.h.

template<typename M>
ros::Time ros::MessageEvent< M >::receipt_time_
private

Definition at line 244 of file message_event.h.

template<typename M>
const std::string ros::MessageEvent< M >::s_unknown_publisher_string_
staticprivate

Definition at line 248 of file message_event.h.


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


roscpp_traits
Author(s): Josh Faust
autogenerated on Mon Jul 27 2020 03:22:43