Files
dusklight/include/helpers/alignment.hpp
T
PJB3005 226a1fc482 read_unaligned helper
"Things C++ should've had built-in 2 decades ago"
2026-07-25 15:18:37 +02:00

19 lines
413 B
C++

#pragma once
namespace dusk::helpers::alignment {
/**
* Read data from an address that may not be aligned properly.
* @tparam T Type of data to read.
* @param ptr Address to read from.
* @return The copied value.
*/
template <typename T> requires std::is_trivially_copyable_v<T>
[[nodiscard]] constexpr T read_unaligned(u8 const* ptr) {
T copy;
memcpy(&copy, ptr, sizeof(T));
return copy;
}
}