![]() |
CppSerdes
1.0
A serialization/deserialization library designed with embedded systems in mind
|
Defines deserialization functions in the form of: size_t bitcpy(T1 &dest, const T2 source[], const size_t bit_offset, const size_t bits) More...
#include "bitcpy_common.h"
Go to the source code of this file.
Namespaces | |
serdes | |
CppSerdes library namespace. | |
Functions | |
template<typename T_array , typename T_val , detail::requires_unsigned_type< T_val > * = nullptr> | |
CONSTEXPR_ABOVE_CPP11 size_t | serdes::bitcpy (T_array *const dest, const T_val source, const size_t bit_offset=0, const size_t bits=detail::default_bitsize< T_val >::value) noexcept |
[[serialize, uint source]] copies the specified number of bits from a value into an array More... | |
template<typename T_array , typename T_val , detail::requires_unsigned_type< T_val > * = nullptr> | |
CONSTEXPR_ABOVE_CPP11 size_t | serdes::bitcpy (T_array *const dest, const sized_pointer< const T_val > &source, const size_t bit_offset, const size_t bits) noexcept |
[[serialize, partial sized_pointer source]] copies the specified number of bits from a value into an array (no default bits, since it can't necessarily be known at compile time) More... | |
template<typename T_array , typename T_val , detail::requires_unsigned_type< T_val > * = nullptr> | |
CONSTEXPR_ABOVE_CPP11 size_t | serdes::bitcpy (T_array *const dest, const sized_pointer< const T_val > &source, const size_t bit_offset=0) noexcept |
[[serialize, entire sized_pointer source]] copies the entire sized_pointer object from a value into an array More... | |
template<typename T_array , typename T_val , detail::requires_large_non_integral_type< T_val > * = nullptr> | |
CONSTEXPR_ABOVE_CPP11_AND_NON_LITERAL_STORAGE size_t | serdes::bitcpy (T_array *const dest, const T_val &source, const size_t bit_offset=0, const size_t bits=detail::default_bitsize< T_val >::value) noexcept |
[[serialize, large non integral type source]] copies the specified number of bits from a value into an array More... | |
template<typename T_array = void, typename T_val = void> | |
CONSTEXPR_ABOVE_CPP11 size_t | serdes::bitcpy (sized_pointer< T_array > dest, const T_val &source, const size_t bit_offset=0, const size_t bits=detail::default_bitsize< T_val >::value) noexcept |
[[serialize, size safe]] copies the specified number of bits from a value into an sized array More... | |
template<typename T_array , typename T_val > | |
size_t | serdes::bitcpy (T_array *const dest, const std::atomic< T_val > &source, const size_t bit_offset=0, const size_t bits=detail::default_bitsize< T_val >::value) noexcept |
[[serialize, atomic source]] copies the specified number of bits from an atomic value into an sized array More... | |
template<typename T_val > | |
CONSTEXPR_ABOVE_CPP11 size_t | serdes::bitcpy (sized_pointer< void > &dest, const T_val &source, const size_t bit_offset=0, const size_t bits=detail::default_bitsize< T_val >::value) noexcept |
[[serialize, size safe, type punned (void) dest array]] copies the specified number of bits from a value into an sized array More... | |
Defines deserialization functions in the form of: size_t bitcpy(T1 &dest, const T2 source[], const size_t bit_offset, const size_t bits)