diff options
author | Dominick Allen <djallen@librehumanitas.org> | 2025-03-31 08:33:08 -0500 |
---|---|---|
committer | Dominick Allen <djallen@librehumanitas.org> | 2025-03-31 08:33:08 -0500 |
commit | 8b0bc70db73b48d833a3b5791e55921768cf6932 (patch) | |
tree | 862ae34933a7fc9f480038d974f59d7683a82605 /include/fud_memory.hpp | |
parent | c426110f24516f92ecb8a5374e2a281f2c79787a (diff) |
Remove reinterpret_cast usage in favor of std::bit_cast.
Diffstat (limited to 'include/fud_memory.hpp')
-rw-r--r-- | include/fud_memory.hpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/include/fud_memory.hpp b/include/fud_memory.hpp index 6f6816f..bb60ab7 100644 --- a/include/fud_memory.hpp +++ b/include/fud_memory.hpp @@ -79,7 +79,7 @@ constexpr void zeroObject(T& object) static_assert(std::is_standard_layout_v<T>); static_assert(std::is_trivially_copyable_v<T>); - auto* objPtr = reinterpret_cast<uint8_t*>(&object); + auto* objPtr = std::bit_cast<uint8_t*>(&object); for (size_t idx = 0; idx < sizeof(object); ++idx) { objPtr[idx] = 0; } @@ -95,10 +95,8 @@ void copyMem(T& destination, const U& source) static_assert(std::is_trivially_copyable_v<T>); static_assert(std::is_trivially_copyable_v<U>); - // NOLINTBEGIN(cppcoreguidelines-pro-type-reinterpret-cast) - auto* destPtr = reinterpret_cast<char*>(&destination); - const auto* srcPtr = reinterpret_cast<const char*>(&source); - // NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast) + auto* destPtr = std::bit_cast<char*>(&destination); + const auto* srcPtr = std::bit_cast<const char*>(&source); for (size_t idx = 0; idx < Count; ++idx) { destPtr[idx] = srcPtr[idx]; @@ -121,9 +119,7 @@ int compareMem(const T& lhs, const U& rhs) int difference = 0; for (size_t idx = 0; idx < Count; ++idx) { - // NOLINTBEGIN(cppcoreguidelines-pro-type-reinterpret-cast) - difference = reinterpret_cast<const uint8_t*>(&lhs)[idx] - reinterpret_cast<const uint8_t*>(&rhs)[idx]; - // NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast) + difference = std::bit_cast<const uint8_t*>(&lhs)[idx] - std::bit_cast<const uint8_t*>(&rhs)[idx]; if (difference != 0) { break; } @@ -142,9 +138,7 @@ int compareMem(const T& lhs, U&& rhs) int difference = 0; for (size_t idx = 0; idx < Count; ++idx) { - // NOLINTBEGIN(cppcoreguidelines-pro-type-reinterpret-cast) - difference = reinterpret_cast<const uint8_t*>(&lhs)[idx] - reinterpret_cast<const uint8_t*>(&uRhs)[idx]; - // NOLINTEND(cppcoreguidelines-pro-type-reinterpret-cast) + difference = std::bit_cast<const uint8_t*>(&lhs)[idx] - std::bit_cast<const uint8_t*>(&uRhs)[idx]; if (difference != 0) { break; } |