|
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
#pragma warning disable CS1591,CS1573,CS0465,CS0649,CS8019,CS1570,CS1584,CS1658,CS0436,CS8981
using global::System;
using global::System.Diagnostics;
using global::System.Diagnostics.CodeAnalysis;
using global::System.Runtime.CompilerServices;
using global::System.Runtime.InteropServices;
using global::System.Runtime.Versioning;
using winmdroot = global::Windows.Win32;
namespace Windows.Win32
{
internal partial struct __byte_32
{
private const int SpanLength = 32;
/// <summary>The length of the inline array.</summary>
internal readonly int Length => SpanLength;
internal unsafe fixed byte Value[SpanLength];
/// <summary>
/// Gets a ref to an individual element of the inline array.
/// ⚠ Important ⚠: When this struct is on the stack, do not let the returned reference outlive the stack frame that defines it.
/// </summary>
[UnscopedRef]
internal unsafe ref byte this[int index] => ref Value[index];
/// <summary>
/// Gets this inline array as a span.
/// </summary>
/// <remarks>
/// ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
/// </remarks>
[UnscopedRef]
internal unsafe Span<byte> AsSpan() => MemoryMarshal.CreateSpan(ref Value[0], SpanLength);
/// <summary>
/// Gets this inline array as a span.
/// </summary>
/// <remarks>
/// ⚠ Important ⚠: When this struct is on the stack, do not let the returned span outlive the stack frame that defines it.
/// </remarks>
[UnscopedRef]
internal unsafe readonly ReadOnlySpan<byte> AsReadOnlySpan() => MemoryMarshal.CreateReadOnlySpan(ref Unsafe.AsRef(in Value[0]), SpanLength);
internal readonly bool Equals(ReadOnlySpan<byte> value) => AsReadOnlySpan().SequenceEqual(value);
public static implicit operator __byte_32(ReadOnlySpan<byte> value)
{
Unsafe.SkipInit(out __byte_32 result);
value.CopyTo(result.AsSpan());
int initLength = value.Length;
result.AsSpan().Slice(initLength, SpanLength - initLength).Clear();
return result;
}
}
}
|