HAN-FUN API  1.5.3
This project provides the common implementation of ULE Alliance's HAN-FUN application protocol.
HF::Common::SerializableHelper< std::string > Struct Template Reference

Wrapper for std::string implementing the Serializable API. More...

#include <common.h>

+ Inheritance diagram for HF::Common::SerializableHelper< std::string >:
+ Collaboration diagram for HF::Common::SerializableHelper< std::string >:

Public Member Functions

uint16_t size () const
 Number bytes needed to serialize the message. More...
 
uint16_t pack (Common::ByteArray &array, uint16_t offset=0) const
 Write the object on to a ByteArray so it can be sent over the network. More...
 
uint16_t unpack (const Common::ByteArray &array, uint16_t offset=0)
 Read a message from a ByteArray. More...
 
- Public Member Functions inherited from HF::Common::Serializable
virtual ~Serializable ()
 Destructor.
 

Static Public Attributes

static constexpr uint16_t min_size = sizeof(uint8_t)
 Minimum pack/unpack required data size.
 

Detailed Description

template<>
struct HF::Common::SerializableHelper< std::string >

Wrapper for std::string implementing the Serializable API.

Definition at line 725 of file inc/hanfun/common.h.

Member Function Documentation

◆ pack()

uint16_t HF::Common::SerializableHelper< std::string >::pack ( Common::ByteArray array,
uint16_t  offset = 0 
) const
inlinevirtual

Write the object on to a ByteArray so it can be sent over the network.

The buffer passed in MUST have enough size to hold the serialized object, e.g.,

Serializable obj;
ByteArray payload(obj.size());
obj.pack(payload);
Parameters
[in,out]arrayByteArray reference to write the object to.
[in]offsetoffset to start writing to.
Returns
the number of bytes written.

Implements HF::Common::Serializable.

Definition at line 791 of file inc/hanfun/common.h.

References HF::Common::SerializableHelper< T, typename >::data, and HF::Common::SerializableHelper< T, typename >::pack().

792  {
793  return pack(data, array, offset);
794  }
+ Here is the call graph for this function:

◆ size()

uint16_t HF::Common::SerializableHelper< std::string >::size ( ) const
inlinevirtual

Number bytes needed to serialize the message.

Returns
number of bytes the message requires to be serialized.

Implements HF::Common::Serializable.

Definition at line 786 of file inc/hanfun/common.h.

References HF::Common::SerializableHelper< T, typename >::data, and HF::Common::SerializableHelper< T, typename >::size().

787  {
788  return size(data);
789  }
uint16_t size() const
Number bytes needed to serialize the message.
+ Here is the call graph for this function:

◆ unpack()

uint16_t HF::Common::SerializableHelper< std::string >::unpack ( const Common::ByteArray array,
uint16_t  offset = 0 
)
inlinevirtual

Read a message from a ByteArray.

Parameters
[in]arrayByteArray reference to read the message from.
[in]offsetoffset to start reading from.
Returns
the number of bytes read.

Implements HF::Common::Serializable.

Definition at line 796 of file inc/hanfun/common.h.

References HF::Common::SerializableHelper< T, typename >::data, and HF::Common::SerializableHelper< T, typename >::unpack().

797  {
798  return unpack(data, array, offset);
799  }
+ Here is the call graph for this function:

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