update main #1

Merged
Sinipelto merged 240 commits from Bananymous/banan-os:main into main 2023-11-20 13:20:51 +02:00
1 changed files with 18 additions and 1 deletions
Showing only changes of commit 3bffbe330d - Show all commits

View File

@ -80,13 +80,30 @@ namespace BAN
} }
template<typename S> template<typename S>
const S& as() const requires(is_const_v<S>)
S& as() const
{ {
ASSERT(m_data); ASSERT(m_data);
ASSERT(m_size >= sizeof(S)); ASSERT(m_size >= sizeof(S));
return *reinterpret_cast<S*>(m_data); return *reinterpret_cast<S*>(m_data);
} }
template<typename S>
requires(!CONST && !is_const_v<S>)
Span<S> as_span()
{
ASSERT(m_data);
return Span<S>(reinterpret_cast<S*>(m_data), m_size / sizeof(S));
}
template<typename S>
requires(is_const_v<S>)
Span<S> as_span() const
{
ASSERT(m_data);
return Span<S>(reinterpret_cast<S*>(m_data), m_size / sizeof(S));
}
ByteSpanGeneral slice(size_type offset, size_type length = size_type(-1)) ByteSpanGeneral slice(size_type offset, size_type length = size_type(-1))
{ {
ASSERT(m_data); ASSERT(m_data);