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 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]
|
public bool this[nuint index]
|
||||||
{
|
{
|
||||||
get => Get(index);
|
get => Get(index);
|
||||||
|
|
|
@ -2,6 +2,17 @@ namespace ServicePoint;
|
||||||
|
|
||||||
public sealed partial class Bitmap
|
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]
|
public bool this[nuint x, nuint y]
|
||||||
{
|
{
|
||||||
get => Get(x, y);
|
get => Get(x, y);
|
||||||
|
|
|
@ -2,6 +2,17 @@ namespace ServicePoint;
|
||||||
|
|
||||||
public sealed partial class BrightnessGrid
|
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]
|
public byte this[nuint x, nuint y]
|
||||||
{
|
{
|
||||||
get => Get(x, y);
|
get => Get(x, y);
|
||||||
|
|
|
@ -2,5 +2,5 @@ namespace ServicePoint;
|
||||||
|
|
||||||
public partial struct SPByteSlice
|
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 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]
|
public byte this[nuint x, nuint y]
|
||||||
{
|
{
|
||||||
get => Get(x, y);
|
get => Get(x, y);
|
||||||
|
|
|
@ -4,7 +4,7 @@ namespace ServicePoint;
|
||||||
|
|
||||||
public sealed partial class Packet
|
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
|
unsafe
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue