|
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 , 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 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 , size_t N, typename Stream > |
void | ros::serialization::deserialize (Stream &stream, boost::array< T, N > &t) |
| deserialize version for boost::array 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 > |
uint32_t | ros::serialization::serializationLength (const T &t) |
| Determine the serialized length of an object. 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 , size_t N> |
uint32_t | ros::serialization::serializationLength (const boost::array< T, N > &t) |
| serializationLength version for boost::array 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 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 , 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 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 73 of file serialization.h.