mirror of https://github.com/SixLabors/ImageSharp
committed by
GitHub
3 changed files with 3 additions and 52 deletions
@ -1,48 +0,0 @@ |
|||||
// Copyright (c) Six Labors and contributors.
|
|
||||
// Licensed under the Apache License, Version 2.0.
|
|
||||
|
|
||||
using System; |
|
||||
using System.Runtime.CompilerServices; |
|
||||
|
|
||||
namespace SixLabors.ImageSharp.Memory |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// Utility methods for <see cref="Span{T}"/>
|
|
||||
/// </summary>
|
|
||||
internal static class SpanHelper |
|
||||
{ |
|
||||
/// <summary>
|
|
||||
/// Copy all elements of 'source' into 'destination'.
|
|
||||
/// </summary>
|
|
||||
/// <typeparam name="T">The element type.</typeparam>
|
|
||||
/// <param name="source">The <see cref="Span{T}"/> to copy elements from.</param>
|
|
||||
/// <param name="destination">The destination <see cref="Span{T}"/>.</param>
|
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
||||
public static void Copy<T>(ReadOnlySpan<T> source, Span<T> destination) |
|
||||
where T : struct |
|
||||
{ |
|
||||
source.Slice(0, Math.Min(source.Length, destination.Length)).CopyTo(destination); |
|
||||
} |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Gets the size of `count` elements in bytes.
|
|
||||
/// </summary>
|
|
||||
/// <typeparam name="T">The element type.</typeparam>
|
|
||||
/// <param name="count">The count of the elements</param>
|
|
||||
/// <returns>The size in bytes as int</returns>
|
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
||||
public static int SizeOf<T>(int count) |
|
||||
where T : struct => Unsafe.SizeOf<T>() * count; |
|
||||
|
|
||||
/// <summary>
|
|
||||
/// Gets the size of `count` elements in bytes as UInt32
|
|
||||
/// </summary>
|
|
||||
/// <typeparam name="T">The element type.</typeparam>
|
|
||||
/// <param name="count">The count of the elements</param>
|
|
||||
/// <returns>The size in bytes as UInt32</returns>
|
|
||||
[MethodImpl(MethodImplOptions.AggressiveInlining)] |
|
||||
public static uint USizeOf<T>(int count) |
|
||||
where T : struct |
|
||||
=> (uint)SizeOf<T>(count); |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue