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_string_view.hpp | |
parent | c426110f24516f92ecb8a5374e2a281f2c79787a (diff) |
Remove reinterpret_cast usage in favor of std::bit_cast.
Diffstat (limited to 'include/fud_string_view.hpp')
-rw-r--r-- | include/fud_string_view.hpp | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/include/fud_string_view.hpp b/include/fud_string_view.hpp index f71919d..e3ff4d7 100644 --- a/include/fud_string_view.hpp +++ b/include/fud_string_view.hpp @@ -56,16 +56,14 @@ struct StringView { // NOLINTNEXTLINE(cppcoreguidelines-avoid-c-arrays) StringView(const char (&input)[N]) : m_length{N - 1}, - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - m_data{reinterpret_cast<const utf8*>(input)} + m_data{std::bit_cast<const utf8*>(&input[0])} { static_assert(N > 0); } StringView(size_t strLen, const char* strData) : m_length(strLen), - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - m_data{reinterpret_cast<const utf8*>(strData)} + m_data{std::bit_cast<const utf8*>(&strData[0])} { } @@ -80,13 +78,11 @@ struct StringView { constexpr static StringView makeFromCString(const char (&input)[N]) { static_assert(N > 0); - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - return StringView{N - 1, reinterpret_cast<const utf8*>(input)}; + return StringView{N - 1, std::bit_cast<const utf8*>(&input[0])}; } - [[nodiscard]] std::string_view as_string_view() const { - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - return std::string_view{reinterpret_cast<const char*>(m_data), m_length}; + [[nodiscard]] constexpr std::string_view as_string_view() const { + return std::string_view{std::bit_cast<const char*>(m_data), m_length}; } [[nodiscard]] constexpr Span<const utf8> asSpan() const @@ -106,8 +102,7 @@ struct StringView { [[nodiscard]] const char* c_str() const { - // NOLINTNEXTLINE(cppcoreguidelines-pro-type-reinterpret-cast) - return reinterpret_cast<const char*>(m_data); + return std::bit_cast<const char*>(m_data); } constexpr const utf8& operator[](size_t index) const |