CppSerdes  1.0
A serialization/deserialization library designed with embedded systems in mind
bitcpy_to_array.h File Reference

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...
 

Detailed Description

Defines deserialization functions in the form of: size_t bitcpy(T1 &dest, const T2 source[], const size_t bit_offset, const size_t bits)

Author
Darren V Levine (Darre.nosp@m.nVLe.nosp@m.vine@.nosp@m.gmai.nosp@m.l.com)