mirror of
https://github.com/cccb/servicepoint.git
synced 2025-01-18 18:10:14 +01:00
add Load methods with Spans
This commit is contained in:
parent
f836220259
commit
f968f92917
|
@ -2,6 +2,17 @@ namespace ServicePoint;
|
|||
|
||||
public sealed partial class BitVec
|
||||
{
|
||||
public static BitVec Load(Span<byte> bytes)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
fixed (byte* bytesPtr = bytes)
|
||||
{
|
||||
return Load(bytesPtr, (nuint)bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool this[nuint index]
|
||||
{
|
||||
get => Get(index);
|
||||
|
|
|
@ -2,6 +2,17 @@ namespace ServicePoint;
|
|||
|
||||
public sealed partial class Bitmap
|
||||
{
|
||||
public static Bitmap Load(nuint width, nuint height, Span<byte> bytes)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
fixed (byte* bytesPtr = bytes)
|
||||
{
|
||||
return Load(width, height, bytesPtr, (nuint)bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool this[nuint x, nuint y]
|
||||
{
|
||||
get => Get(x, y);
|
||||
|
|
|
@ -2,6 +2,17 @@ namespace ServicePoint;
|
|||
|
||||
public sealed partial class BrightnessGrid
|
||||
{
|
||||
public static BrightnessGrid Load(nuint width, nuint height, Span<byte> bytes)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
fixed (byte* bytesPtr = bytes)
|
||||
{
|
||||
return Load(width, height, bytesPtr, (nuint)bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public byte this[nuint x, nuint y]
|
||||
{
|
||||
get => Get(x, y);
|
||||
|
|
|
@ -2,5 +2,5 @@ namespace ServicePoint;
|
|||
|
||||
public partial struct SPByteSlice
|
||||
{
|
||||
public unsafe Span<byte> AsSpan() => new Span<byte>(start, (int)length);
|
||||
public unsafe Span<byte> AsSpan() => new (start, (int)length);
|
||||
}
|
||||
|
|
|
@ -4,6 +4,17 @@ namespace ServicePoint;
|
|||
|
||||
public sealed partial class Cp437Grid
|
||||
{
|
||||
public static Cp437Grid Load(nuint width, nuint height, Span<byte> bytes)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
fixed (byte* bytesPtr = bytes)
|
||||
{
|
||||
return Load(width, height, bytesPtr, (nuint)bytes.Length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public byte this[nuint x, nuint y]
|
||||
{
|
||||
get => Get(x, y);
|
||||
|
|
|
@ -4,7 +4,7 @@ namespace ServicePoint;
|
|||
|
||||
public sealed partial class Packet
|
||||
{
|
||||
public static bool TryFromBytes(Span<byte> bytes, [MaybeNullWhen(false)] out Packet packet)
|
||||
public static bool TryLoad(Span<byte> bytes, [MaybeNullWhen(false)] out Packet packet)
|
||||
{
|
||||
unsafe
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue