|  | 
| template<typename... Ts> | 
| bool | insert (const Ts &... values) | 
|  | Serializes one or more values.  More... 
 | 
|  | 
| template<typename... Ts> | 
| bool | extract (Ts &... values) | 
|  | Deserializes one or more values.  More... 
 | 
|  | 
| template<class T , class S > | 
| bool | extract_count (T &count, S max_count) | 
|  | Deserializes an integer with maximum permissible value.  More... 
 | 
|  | 
| template<class T , class S > | 
| bool | extract_count (T *count, S max_count) | 
|  | 
|  | SerializerBase ()=default | 
|  | 
|  | SerializerBase (uint8_t *ptr, size_t capacity) | 
|  | 
|  | SerializerBase (const uint8_t *ptr, size_t size) | 
|  | 
|  | SerializerBase (microstrain::ConstU8ArrayView buffer) | 
|  | 
|  | SerializerBase ()=default | 
|  | 
|  | SerializerBase (uint8_t *ptr, size_t capacity) | 
|  | 
|  | SerializerBase (const uint8_t *ptr, size_t size) | 
|  | 
|  | SerializerBase (microstrain::ConstU8ArrayView buffer) | 
|  | 
| uint8_t * | getPointer (size_t required_size) | 
|  | Obtains a pointer to the current offset for reading/writing a value of the specified size. This function does NOT advance the offset value. Generally, you should use getPtrAndAdvance() instead.  More... 
 | 
|  | 
| uint8_t * | getPtrAndAdvance (size_t size) | 
|  | Obtains a pointer to the current offset for reading/writing a value of specified size, and post-increments the offset by that size. Use this function just like pointer().  More... 
 | 
|  | 
| void | invalidate () | 
|  | Marks the buffer as invalid, i.e. overrun/error state. All further accesses via pointer(), getPtrAndAdvance(), etc. will fail. (basePointer() and capacity() remain valid)  More... 
 | 
|  | 
| size_t | setOffset (size_t offset) | 
|  | Sets a new offset and returns the old value. This can be used to save/restore the current offset. Calling setOffset() after an overrun with an in-range (i.e. non-overrun) value restores the non-overrun status.  More... 
 | 
|  | 
template<serialization::Endian E>
class microstrain::Serializer< E >
Create one of these to handle serialization or deserialization of one or more values to/from a buffer of bytes.
You can use this->insert/extract or directly call the insert/extract non- member functions taking a serializer reference.
The endianness is included as part of the Serializer's type so that it doesn't have to be repeatedly re-specified. It is not included as a runtime parameter for performance reasons (most of the time only a buffer of a known, specific endianness is required).
- Template Parameters
- 
  
    | E | Endianness of the target buffer. |