From c426110f24516f92ecb8a5374e2a281f2c79787a Mon Sep 17 00:00:00 2001 From: Dominick Allen Date: Mon, 31 Mar 2025 00:47:45 -0500 Subject: Fix Vector bug. --- include/fud_string.hpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'include/fud_string.hpp') 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(allocator); + output.m_allocator = std::bit_cast(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(allocator) & isLargeMask) == 0; + return (std::bit_cast(allocator) & isLargeMask) == 0; } [[nodiscard]] Allocator* allocator() const { - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast,performance-no-int-to-ptr) - auto* allocPtr = reinterpret_cast(m_allocator & allocatorMask); + auto* allocPtr = std::bit_cast(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(&globalFudAllocator)}; + uintptr_t m_allocator{std::bit_cast(&globalFudAllocator)}; using BufType = Array; union { -- cgit v1.2.3