5using System.Runtime.InteropServices;
11 [MethodImpl(MethodImplOptions.AggressiveInlining)]
12 public static ref T Post<T>(
ref Span<T> data, nint byteOffset) where T :
struct
14 ref T element =
ref MemoryMarshal.GetReference(data);
16 data =
new(
ref Unsafe.AddByteOffset(
ref element, byteOffset));
18 data = MemoryMarshal.CreateSpan(
ref Unsafe.AddByteOffset(
ref element, byteOffset), 1);
23 [MethodImpl(MethodImplOptions.AggressiveInlining)]
24 public static ref T Post<T>(
ref ReadOnlySpan<T> data, nint byteOffset) where T :
struct
26 ref T element =
ref MemoryMarshal.GetReference(data);
28 data =
new(in Unsafe.AddByteOffset(
ref element, byteOffset));
30 data = MemoryMarshal.CreateReadOnlySpan(
ref Unsafe.AddByteOffset(
ref element, byteOffset), 1);