From cbade33906dc0d090d5dba6231fb48e359afff95 Mon Sep 17 00:00:00 2001 From: Steven Le Rouzic Date: Wed, 12 Mar 2025 00:37:23 +0100 Subject: Some more shit --- asl/types/span.hpp | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'asl/types/span.hpp') diff --git a/asl/types/span.hpp b/asl/types/span.hpp index 8585f17..105379b 100644 --- a/asl/types/span.hpp +++ b/asl/types/span.hpp @@ -77,14 +77,14 @@ public: template constexpr span(T (&array)[N]) // NOLINT(*explicit*) requires (kIsDynamic) - : m_data{array} + : m_data{static_cast(array)} , m_size{N} {} template constexpr span(T (&array)[N]) // NOLINT(*explicit*) requires (!kIsDynamic) && (N == kSize) - : m_data{array} + : m_data{static_cast(array)} {} template @@ -109,24 +109,24 @@ public: ~span() = default; - constexpr isize_t size() const + [[nodiscard]] constexpr isize_t size() const { if constexpr (kIsDynamic) { return m_size; } else { return kSize; } } - constexpr isize_t size_bytes() const { return size() * size_of; } + [[nodiscard]] constexpr isize_t size_bytes() const { return size() * size_of; } - constexpr bool is_empty() const { return size() == 0; } + [[nodiscard]] constexpr bool is_empty() const { return size() == 0; } - constexpr T* data() const { return m_data; } + [[nodiscard]] constexpr T* data() const { return m_data; } - constexpr contiguous_iterator begin() const + [[nodiscard]] constexpr contiguous_iterator begin() const { return contiguous_iterator{m_data}; } - constexpr contiguous_iterator end() const + [[nodiscard]] constexpr contiguous_iterator end() const { return contiguous_iterator{m_data + size()}; } @@ -138,7 +138,7 @@ public: } template - constexpr auto subspan() const + [[nodiscard]] constexpr auto subspan() const requires ( kOffset >= 0 && (kIsDynamic || kOffset <= kSize) && @@ -165,13 +165,13 @@ public: } } - constexpr span subspan(isize_t offset) const + [[nodiscard]] constexpr span subspan(isize_t offset) const { ASL_ASSERT(offset <= size()); return span{ data() + offset, size() - offset }; } - constexpr span subspan(isize_t offset, isize_t sub_size) const + [[nodiscard]] constexpr span subspan(isize_t offset, isize_t sub_size) const { ASL_ASSERT(offset <= size() && !is_dynamic(sub_size)); ASL_ASSERT(sub_size <= size() - offset); @@ -179,7 +179,7 @@ public: } template - constexpr auto first() const + [[nodiscard]] constexpr auto first() const requires ( kSubSize >= 0 && (kIsDynamic || kSubSize <= kSize) @@ -189,14 +189,14 @@ public: return span{ data(), kSubSize }; } - constexpr span first(isize_t sub_size) const + [[nodiscard]] constexpr span first(isize_t sub_size) const { ASL_ASSERT(sub_size >= 0 && sub_size <= size()); return span{ data(), sub_size }; } template - constexpr auto last() const + [[nodiscard]] constexpr auto last() const requires ( kSubSize >= 0 && (kIsDynamic || kSubSize <= kSize) @@ -206,7 +206,7 @@ public: return span{ data() + size() - kSubSize, kSubSize }; } - constexpr span last(isize_t sub_size) const + [[nodiscard]] constexpr span last(isize_t sub_size) const { ASL_ASSERT(sub_size >= 0 && sub_size <= size()); return span{ data() + size() - sub_size, sub_size }; -- cgit