MIP SDK  0.0.1
MicroStrain Communications Library for embedded systems
Classes | Namespaces | Typedefs | Functions
serialization.h File Reference
#include <stdint.h>
#include <stdbool.h>
#include "../mip_types.h"
#include "../mip_field.h"
#include <type_traits>
Include dependency graph for serialization.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mip::C::mip_serializer
 Structure used for serialization. More...
 
class  mip::Serializer
 Serialization class. More...
 

Namespaces

 mip
 A collection of C++ classes and functions covering the full mip api.
 
 mip::C
 

Typedefs

typedef struct mip::C::mip_serializer mip::C::mip_serializer
 Structure used for serialization. More...
 

Functions

void mip::C::mip_serializer_init_insertion (mip_serializer *serializer, uint8_t *buffer, size_t buffer_size)
 
void mip::C::mip_serializer_init_extraction (mip_serializer *serializer, const uint8_t *buffer, size_t buffer_size)
 
void mip::C::mip_serializer_init_from_field (mip_serializer *serializer, const mip_field *field)
 
size_t mip::C::mip_serializer_capacity (const mip_serializer *serializer)
 
size_t mip::C::mip_serializer_length (const mip_serializer *serializer)
 
remaining_count mip::C::mip_serializer_remaining (const mip_serializer *serializer)
 
bool mip::C::mip_serializer_is_ok (const mip_serializer *serializer)
 
bool mip::C::mip_serializer_is_complete (const mip_serializer *serializer)
 
void mip::C::insert_bool (mip_serializer *serializer, bool value)
 
void mip::C::insert_char (mip_serializer *serializer, char value)
 
void mip::C::insert_u8 (mip_serializer *serializer, uint8_t value)
 
void mip::C::insert_u16 (mip_serializer *serializer, uint16_t value)
 
void mip::C::insert_u32 (mip_serializer *serializer, uint32_t value)
 
void mip::C::insert_u64 (mip_serializer *serializer, uint64_t value)
 
void mip::C::insert_s8 (mip_serializer *serializer, int8_t value)
 
void mip::C::insert_s16 (mip_serializer *serializer, int16_t value)
 
void mip::C::insert_s32 (mip_serializer *serializer, int32_t value)
 
void mip::C::insert_s64 (mip_serializer *serializer, int64_t value)
 
void mip::C::insert_float (mip_serializer *serializer, float value)
 
void mip::C::insert_double (mip_serializer *serializer, double value)
 
void mip::C::extract_bool (mip_serializer *serializer, bool *value)
 
void mip::C::extract_char (mip_serializer *serializer, char *value)
 
void mip::C::extract_u8 (mip_serializer *serializer, uint8_t *value)
 
void mip::C::extract_u16 (mip_serializer *serializer, uint16_t *value)
 
void mip::C::extract_u32 (mip_serializer *serializer, uint32_t *value)
 
void mip::C::extract_u64 (mip_serializer *serializer, uint64_t *value)
 
void mip::C::extract_s8 (mip_serializer *serializer, int8_t *value)
 
void mip::C::extract_s16 (mip_serializer *serializer, int16_t *value)
 
void mip::C::extract_s32 (mip_serializer *serializer, int32_t *value)
 
void mip::C::extract_s64 (mip_serializer *serializer, int64_t *value)
 
void mip::C::extract_float (mip_serializer *serializer, float *value)
 
void mip::C::extract_double (mip_serializer *serializer, double *value)
 
void mip::C::extract_count (mip_serializer *serializer, uint8_t *count_out, uint8_t max_count)
 
void mip::insert (Serializer &serializer, bool value)
 
void mip::insert (Serializer &serializer, char value)
 
void mip::insert (Serializer &serializer, uint8_t value)
 
void mip::insert (Serializer &serializer, uint16_t value)
 
void mip::insert (Serializer &serializer, uint32_t value)
 
void mip::insert (Serializer &serializer, uint64_t value)
 
void mip::insert (Serializer &serializer, int8_t value)
 
void mip::insert (Serializer &serializer, int16_t value)
 
void mip::insert (Serializer &serializer, int32_t value)
 
void mip::insert (Serializer &serializer, int64_t value)
 
void mip::insert (Serializer &serializer, float value)
 
void mip::insert (Serializer &serializer, double value)
 
template<typename Enum >
std::enable_if< std::is_enum< Enum >::value, void >::type mip::insert (Serializer &serializer, Enum value)
 Inserts an enum into the buffer. More...
 
template<typename T >
bool mip::insert (const T &value, uint8_t *buffer, size_t bufferSize)
 Insert the given value into the buffer. More...
 
void mip::extract (Serializer &serializer, bool &value)
 
void mip::extract (Serializer &serializer, char &value)
 
void mip::extract (Serializer &serializer, uint8_t &value)
 
void mip::extract (Serializer &serializer, uint16_t &value)
 
void mip::extract (Serializer &serializer, uint32_t &value)
 
void mip::extract (Serializer &serializer, uint64_t &value)
 
void mip::extract (Serializer &serializer, int8_t &value)
 
void mip::extract (Serializer &serializer, int16_t &value)
 
void mip::extract (Serializer &serializer, int32_t &value)
 
void mip::extract (Serializer &serializer, int64_t &value)
 
void mip::extract (Serializer &serializer, float &value)
 
void mip::extract (Serializer &serializer, double &value)
 
template<typename Enum >
std::enable_if< std::is_enum< Enum >::value, void >::type mip::extract (Serializer &serializer, Enum &value)
 Extract an enum from the buffer. More...
 
template<typename T >
bool mip::extract (T &value_out, const uint8_t *buffer, size_t bufferSize, size_t offset=0, bool exact_size=false)
 Extract the value given a buffer, size, and starting offset. More...