|
| struct | ros::serialization::ArraySerializer< T, N, Enabled > |
| | Array serializer, default implementation does nothing. More...
|
| |
| struct | ros::serialization::ArraySerializer< T, N, typename boost::disable_if< mt::IsFixedSize< T > >::type > |
| | Array serializer, specialized for non-fixed-size, non-simple types. More...
|
| |
| struct | ros::serialization::ArraySerializer< T, N, typename boost::enable_if< mpl::and_< mt::IsFixedSize< T >, mpl::not_< mt::IsSimple< T > > > >::type > |
| | Array serializer, specialized for fixed-size, non-simple types. More...
|
| |
| struct | ros::serialization::ArraySerializer< T, N, typename boost::enable_if< mt::IsSimple< T > >::type > |
| | Array serializer, specialized for fixed-size, simple types. More...
|
| |
| struct | ros::serialization::IStream |
| | Input stream. More...
|
| |
| struct | ros::serialization::LStream |
| | Length stream. More...
|
| |
| struct | ros::serialization::OStream |
| | Output stream. More...
|
| |
| struct | ros::serialization::PreDeserialize< M > |
| | called by the SubscriptionCallbackHelper after a message is instantiated but before that message is deserialized More...
|
| |
| struct | ros::serialization::PreDeserializeParams< M > |
| |
| struct | ros::serialization::Serializer< T > |
| | Templated serialization class. Default implementation provides backwards compatibility with old message types. More...
|
| |
| struct | ros::serialization::Serializer< bool > |
| | Serializer specialized for bool (serialized as uint8) More...
|
| |
| struct | ros::serialization::Serializer< ros::Duration > |
| | Serializer specialized for ros::Duration. More...
|
| |
| struct | ros::serialization::Serializer< ros::Time > |
| | Serializer specialized for ros::Time. More...
|
| |
| struct | ros::serialization::Serializer< std::basic_string< char, std::char_traits< char >, ContainerAllocator > > |
| | Serializer specialized for std::string. More...
|
| |
| struct | ros::serialization::Stream |
| | Stream base-class, provides common functionality for IStream and OStream. More...
|
| |
| class | ros::serialization::StreamOverrunException |
| |
| struct | ros::serialization::VectorSerializer< T, ContainerAllocator, Enabled > |
| | Vector serializer. Default implementation does nothing. More...
|
| |
| struct | ros::serialization::VectorSerializer< T, ContainerAllocator, typename boost::disable_if< mt::IsFixedSize< T > >::type > |
| | Vector serializer, specialized for non-fixed-size, non-simple types. More...
|
| |
| struct | ros::serialization::VectorSerializer< T, ContainerAllocator, typename boost::enable_if< mpl::and_< mt::IsFixedSize< T >, mpl::not_< mt::IsSimple< T > > > >::type > |
| | Vector serializer, specialized for fixed-size non-simple types. More...
|
| |
| struct | ros::serialization::VectorSerializer< T, ContainerAllocator, typename boost::enable_if< mt::IsSimple< T > >::type > |
| | Vector serializer, specialized for fixed-size simple types. More...
|
| |
|
| template<typename T , size_t N, typename Stream > |
| void | ros::serialization::deserialize (Stream &stream, boost::array< T, N > &t) |
| | deserialize version for boost::array More...
|
| |
| template<typename T , class ContainerAllocator , typename Stream > |
| void | ros::serialization::deserialize (Stream &stream, std::vector< T, ContainerAllocator > &t) |
| | deserialize version for std::vector More...
|
| |
| template<typename T , typename Stream > |
| void | ros::serialization::deserialize (Stream &stream, T &t) |
| | Deserialize an object. Stream here should normally be a ros::serialization::IStream. More...
|
| |
| template<typename M > |
| void | ros::serialization::deserializeMessage (const SerializedMessage &m, M &message) |
| | Deserialize a message. If includes_length is true, skips the first 4 bytes. More...
|
| |
| template<typename T , size_t N> |
| uint32_t | ros::serialization::serializationLength (const boost::array< T, N > &t) |
| | serializationLength version for boost::array More...
|
| |
| template<typename T , class ContainerAllocator > |
| uint32_t | ros::serialization::serializationLength (const std::vector< T, ContainerAllocator > &t) |
| | serializationLength version for std::vector More...
|
| |
| template<typename T > |
| uint32_t ROS_SERIALIZATION_GCC_9_3_DISABLE_VECTORIZE | ros::serialization::serializationLength (const T &t) |
| | Determine the serialized length of an object. More...
|
| |
| template<typename T , size_t N, typename Stream > |
| void | ros::serialization::serialize (Stream &stream, const boost::array< T, N > &t) |
| | serialize version for boost::array More...
|
| |
| template<typename T , class ContainerAllocator , typename Stream > |
| void | ros::serialization::serialize (Stream &stream, const std::vector< T, ContainerAllocator > &t) |
| | serialize version for std::vector More...
|
| |
| template<typename T , typename Stream > |
| void | ros::serialization::serialize (Stream &stream, const T &t) |
| | Serialize an object. Stream here should normally be a ros::serialization::OStream. More...
|
| |
| template<typename M > |
| SerializedMessage | ros::serialization::serializeMessage (const M &message) |
| | Serialize a message. More...
|
| |
| template<typename M > |
| SerializedMessage | ros::serialization::serializeServiceResponse (bool ok, const M &message) |
| | Serialize a service response. More...
|
| |
| ROSCPP_SERIALIZATION_DECL void | ros::serialization::throwStreamOverrun () |
| |
| #define ROS_DECLARE_ALLINONE_SERIALIZER |
Value: template<typename Stream, typename T> \
inline static void write(Stream& stream, const T& t) \
{ \
allInOne<Stream, const T&>(stream, t); \
} \
\
template<typename Stream, typename T> \
inline static void read(Stream& stream, T& t) \
{ \
allInOne<Stream, T&>(stream, t); \
} \
\
template<typename T> \
inline static uint32_t serializedLength(const T& t) \
{ \
LStream stream; \
allInOne<LStream, const T&>(stream, t); \
return stream.getLength(); \
}
Declare your serializer to use an allInOne member instead of requiring 3 different serialization functions.
The allinone method has the form:
template<typename Stream, typename T>
inline static void allInOne(Stream& stream, T t)
{
stream.next(t.a);
stream.next(t.b);
...
}
The only guarantee given is that Stream::next(T) is defined.
Definition at line 74 of file serialization.h.