mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
25 lines
806 B
25 lines
806 B
// Copyright (c) Six Labors.
|
|
// Licensed under the Apache License, Version 2.0.
|
|
|
|
using System;
|
|
using System.Buffers;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Runtime.InteropServices;
|
|
|
|
namespace SixLabors.ImageSharp.Tests.Memory.Allocators
|
|
{
|
|
internal static class BufferExtensions
|
|
{
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static Span<T> GetSpan<T>(this IMemoryOwner<T> buffer)
|
|
=> buffer.Memory.Span;
|
|
|
|
[MethodImpl(MethodImplOptions.AggressiveInlining)]
|
|
public static int Length<T>(this IMemoryOwner<T> buffer)
|
|
=> buffer.GetSpan().Length;
|
|
|
|
public static ref T GetReference<T>(this IMemoryOwner<T> buffer)
|
|
where T : struct =>
|
|
ref MemoryMarshal.GetReference(buffer.GetSpan());
|
|
}
|
|
}
|
|
|