// // MemoryPacker.hpp // Clock Signal // // Created by Thomas Harte on 03/05/2019. // Copyright © 2019 Thomas Harte. All rights reserved. // #ifndef MemoryPacker_hpp #define MemoryPacker_hpp #include <cstdint> #include <vector> namespace Memory { /*! Copies the bytes from @c source into @c target, interpreting them as big-endian 16-bit data. */ void PackBigEndian16(const std::vector<uint8_t> &source, uint16_t *target); /*! Copies the bytes from @c source to @c target, interpreting them as big-endian 16-bit data, and writing them as host-endian 16-bit data. */ void PackBigEndian16(const std::vector<uint8_t> &source, uint8_t *target); /*! Copies the bytes from @c source into @c target, interpreting them as big-endian 16-bit data. @c target will be resized to the proper size exactly to contain the contents of @c source. */ void PackBigEndian16(const std::vector<uint8_t> &source, std::vector<uint16_t> &target); /*! Copies the bytes from @c source into @c target, interpreting them as big-endian 16-bit data and writing them as host-endian 16-bit data. @c target will be resized to the proper size exactly to contain the contents of @c source. */ void PackBigEndian16(const std::vector<uint8_t> &source, std::vector<uint8_t> &target); } #endif /* MemoryPacker_hpp */