diff options
Diffstat (limited to 'include/fud_string.hpp')
-rw-r--r-- | include/fud_string.hpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/include/fud_string.hpp b/include/fud_string.hpp index 1d724f0..1c189c2 100644 --- a/include/fud_string.hpp +++ b/include/fud_string.hpp @@ -157,8 +157,7 @@ class String { fudAssert(totalLength < maxStringLength); String output{}; - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - output.m_allocator = reinterpret_cast<uintptr_t>(allocator); + output.m_allocator = std::bit_cast<uintptr_t>(allocator); utf8* data{nullptr}; size_t outputCapacity = totalLength + 1; bool isLarge = outputCapacity > SsoBufSize; @@ -355,14 +354,12 @@ class String { [[nodiscard]] static bool allocatorValid(Allocator* allocator) { - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - return (reinterpret_cast<uintptr_t>(allocator) & isLargeMask) == 0; + return (std::bit_cast<uintptr_t>(allocator) & isLargeMask) == 0; } [[nodiscard]] Allocator* allocator() const { - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast,performance-no-int-to-ptr) - auto* allocPtr = reinterpret_cast<Allocator*>(m_allocator & allocatorMask); + auto* allocPtr = std::bit_cast<Allocator*>(m_allocator & allocatorMask); fudAssert(allocPtr != nullptr); return allocPtr; } @@ -388,8 +385,7 @@ class String { /** \brief The allocator used to get storage for characters when the string * is large. */ - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - uintptr_t m_allocator{reinterpret_cast<uintptr_t>(&globalFudAllocator)}; + uintptr_t m_allocator{std::bit_cast<uintptr_t>(&globalFudAllocator)}; using BufType = Array<utf8, SsoBufSize>; union { |