CppSerdes  1.0
A serialization/deserialization library designed with embedded systems in mind
include Directory Reference

Files

file  bitcpy.h [code]
 Includes all the bitcpy definitions for serialization and deserialization.
 
file  bitcpy_common.h [code]
 Defines common bitcpy details as well as a info::version number, and bit_length function.
 
file  bitcpy_from_array.h [code]
 Defines serialization functions in the form of: size_t bitcpy(T1 dest[], const T2 source, const size_t bit_offset, const size_t bits)
 
file  bitcpy_sized_pointer.h [code]
 Defines sized_pointer, similar to std::array but with with size as a runtime constant.
 
file  bitcpy_to_array.h [code]
 Defines deserialization functions in the form of: size_t bitcpy(T1 &dest, const T2 source[], const size_t bit_offset, const size_t bits)
 
file  bitliterals.h [code]
 Defines string literals for fixed sized types, useful for serdes definitions. For example: Writting "0xAB_u8" would be equivalent to "static_cast<uint8_t>(0xAB)".
 
file  bitprint.h [code]
 defines printhex() and printbin() funtions which print arrays or values in hexidecimal or binary
 
file  cppcrc.h [code]
 A very small, fast, header-only, C++ library for generating CRCs.
 
file  serdes.h [code]
 includes all serdes namespace functionality (bitcpy, packet, packet_base, etc.) except stdio related printing functions (import bitprint.h separately for those)
 
file  serdes_byte_iterator.h [code]
 Defines a iterator for scanning through the bytes of a serdes::packet even when that packet is not composed of bytes, but instead based on a uint16_t, uint32_t, or uint64_t array. This is particularly useful when dealing with checksum APIs, where the API may require bytes as an input, but you might not want to deal with flipping bytes due to endianness when dealing with uint32_t[] arrays for example.
 
file  serdes_errors.h [code]
 Defines error and status types: status_e, status_t, mode_e, status2str(status_e)
 
file  serdes_format_modifiers.h [code]
 Defines format modification classes: align, pad, bitpack, array, delimited_array.
 
file  serdes_formatter.h [code]
 defines the serdes::formatter class for recording arbitrary format lambda procedures
 
file  serdes_validator.h [code]
 defines the serdes::validator class for recording arbitrary validation procedures