__byte_256
struct __byte_256
using System;
using System.Diagnostics.CodeAnalysis;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
namespace Windows.Win32
{
internal struct __byte_256
{
private const int SpanLength = 256;
internal unsafe fixed byte Value[256];
internal int Length {
[IsReadOnly]
get {
return 256;
}
}
[UnscopedRef]
internal unsafe ref byte this[int index] {
get {
return ref *(byte*)(ref *Value + index);
}
}
[UnscopedRef]
internal unsafe Span<byte> AsSpan()
{
return MemoryMarshal.CreateSpan(ref *Value, 256);
}
[IsReadOnly]
[UnscopedRef]
internal unsafe ReadOnlySpan<byte> AsReadOnlySpan()
{
return MemoryMarshal.CreateReadOnlySpan(ref Unsafe.AsRef(ref *Value), 256);
}
[IsReadOnly]
internal bool Equals(ReadOnlySpan<byte> value)
{
return AsReadOnlySpan().SequenceEqual(value);
}
public static implicit operator __byte_256(ReadOnlySpan<byte> value)
{
Unsafe.SkipInit(out __byte_256 value2);
value.CopyTo(value2.AsSpan());
int length = value.Length;
Span<byte> span = value2.AsSpan();
span = span.Slice(length, 256 - length);
span.Clear();
return value2;
}
}
}