mirror of
https://github.com/TwilitRealm/dusklight.git
synced 2026-09-12 21:29:43 -07:00
20 lines
434 B
C++
20 lines
434 B
C++
#pragma once
|
|
|
|
namespace dusk::helpers {
|
|
|
|
/**
|
|
* 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(©, ptr, sizeof(T));
|
|
return copy;
|
|
}
|
|
|
|
} // namespace dusk::helpers
|