File: _generated\215\Windows.Win32.RECT.InlineArrays.g.cs
Web Access
Project: src\winforms\src\System.Private.Windows.Core\src\System.Private.Windows.Core.csproj (System.Private.Windows.Core)
// ------------------------------------------------------------------------------
// <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,SYSLIB1092,CS3021,CS3019
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
{
	namespace Foundation
	{
		internal partial struct __RECT_3
		{
			private const int SpanLength = 3;

			/// <summary>The length of the inline array.</summary>
			internal readonly int Length => SpanLength;

			internal winmdroot.Foundation.RECT _0,_1,_2;

			/// <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<winmdroot.Foundation.RECT> AsSpan() => MemoryMarshal.CreateSpan(ref _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<winmdroot.Foundation.RECT> AsReadOnlySpan() => MemoryMarshal.CreateReadOnlySpan(ref Unsafe.AsRef(in _0), SpanLength);

			public static implicit operator __RECT_3(ReadOnlySpan<winmdroot.Foundation.RECT> value)
			{
				Unsafe.SkipInit(out __RECT_3 result);
				value.CopyTo(result.AsSpan());
				int initLength = value.Length;
				result.AsSpan().Slice(initLength, SpanLength - initLength).Clear();
				return result;
			}
		}
	}
}