using System; using System.Runtime.CompilerServices; namespace DotRecast.Core { public static class RcSpans { [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Copy(Span src, Span dst) { src.CopyTo(dst); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Copy(Span src, int srcIdx, Span dst, int dstIdx, int length) { var slicedSrc = src.Slice(srcIdx, length); var slicedDst = dst.Slice(dstIdx); slicedSrc.CopyTo(slicedDst); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Move(Span src, int srcIdx, int dstIdx, int length) { var slicedSrc = src.Slice(srcIdx, length); var slicedDst = src.Slice(dstIdx, length); slicedSrc.CopyTo(slicedDst); } [MethodImpl(MethodImplOptions.AggressiveInlining)] public static void Fill(Span span, T value, int start, int count) { span.Slice(start, count).Fill(value); } } }