40 for (
size_t i = 0; i < ab.
array.size(); i++)
42 o <<
"0x" << std::setw(2) << std::setfill(
'0') << std::hex << static_cast<int>(ab.
array[i])
46 std::cout << std::dec;
55 return toLittleEndian(*(reinterpret_cast<const uint32_t*>(&data)), array, write_pos);
63 return toLittleEndian(*(reinterpret_cast<const uint64_t*>(&data)), array, write_pos);
71 return fromLittleEndian(*(reinterpret_cast<uint32_t*>(&data)), array, read_pos);
79 return fromLittleEndian(*(reinterpret_cast<uint64_t*>(&data)), array, read_pos);
87 array.resize(array_size, 0);
DRIVER_SVH_IMPORT_EXPORT size_t fromLittleEndian< double >(double &data, std::vector< uint8_t > &array, size_t &read_pos)
Template specialization for float as these have to be handled seperately.
DRIVER_SVH_IMPORT_EXPORT size_t toLittleEndian< float >(const float &data, std::vector< uint8_t > &array, size_t &write_pos)
Template specialization for float as these have to be handled seperately.
size_t write_pos
current write position in array
std::vector< uint8_t > array
array of template type TArray
driver_svh::ArrayBuilder & operator<<(driver_svh::ArrayBuilder &ab, const SVHControlCommand &data)
DRIVER_SVH_IMPORT_EXPORT size_t toLittleEndian< double >(const double &data, std::vector< uint8_t > &array, size_t &write_pos)
Template specialization for float as these have to be handled seperately.
DRIVER_SVH_IMPORT_EXPORT size_t fromLittleEndian< float >(float &data, std::vector< uint8_t > &array, size_t &read_pos)
Template specialization for float as these have to be handled seperately.
size_t fromLittleEndian(T &data, std::vector< uint8_t > &array, size_t &read_pos)
size_t read_pos
current read position in array
void reset(size_t array_size=1)
Resets the Arraybuilder to initial state, all values will be deleted.
size_t toLittleEndian(const T &data, std::vector< uint8_t > &array, size_t &write_pos)
template function for adding data to an array while converting everything into correct endianess ...