1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 09:40:45 +00:00

AK: Add Span to Array conversion function

This commit is contained in:
kleines Filmröllchen 2022-11-18 17:03:29 +01:00 committed by Andrew Kaster
parent 1943aef2cb
commit 026cc3d4b9

View File

@ -8,6 +8,8 @@
#include <AK/Iterator.h>
#include <AK/Span.h>
#include <AK/StdLibExtras.h>
#include <AK/TypedTransfer.h>
namespace AK {
@ -15,6 +17,15 @@ template<typename T, size_t Size>
struct Array {
using ValueType = T;
// This is a static function because constructors mess up Array's POD-ness.
static Array from_span(Span<T> span)
{
Array array;
VERIFY(span.size() == Size);
TypedTransfer<T>::copy(array.data(), span.data(), Size);
return array;
}
[[nodiscard]] constexpr T const* data() const { return __data; }
[[nodiscard]] constexpr T* data() { return __data; }