![]() |
CppSerdes
1.0
A serialization/deserialization library designed with embedded systems in mind
|
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 | |