summaryrefslogtreecommitdiff
path: root/deimos/core/base.h
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-24 00:29:16 +0200
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2024-04-24 00:29:16 +0200
commit98c8fd5d39ee645922f071b6433308a813245500 (patch)
tree36804c19823b601608c3c44694f6db20aa8ce21a /deimos/core/base.h
parent85985c4408906b18eb451ca94edabaa0c3607817 (diff)
Add custom formatter & use it on Status
Diffstat (limited to 'deimos/core/base.h')
-rw-r--r--deimos/core/base.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/deimos/core/base.h b/deimos/core/base.h
index f24991d..5cd3a40 100644
--- a/deimos/core/base.h
+++ b/deimos/core/base.h
@@ -78,6 +78,9 @@ constexpr void MemoryCopy(void* dst, const void* src, int64_t size)
__builtin_memcpy(dst, src, (size_t)size);
}
+template<typename T, int64_t N>
+constexpr int64_t ArraySize(const T (&)[N]) { return N; }
+
template<typename T>
class Span
{
@@ -113,6 +116,7 @@ public:
constexpr T* begin() const { return m_begin; }
constexpr T* end() const { return m_begin + m_size; } // NOLINT
constexpr int64_t size() const { return m_size; }
+ constexpr bool empty() const { return m_size == 0; }
};
template<typename T>
@@ -141,8 +145,8 @@ public:
{}
constexpr const char* data() const { return m_begin; }
-
constexpr int64_t size() const { return m_size; }
+ constexpr bool empty() const { return m_size == 0; }
};
inline Span<const std::byte> AsBytes(StringView span)