public ValueMemoryOwner <TResult> ToArray(ArrayPool <TResult> pool, bool clearOnDispose = default) { var result = pool.RentSliced(count, clearOnDispose); ArrayExtensions.CopyRange(start, count, result.Memory.Span, vectorSelector, selector); return(result); }
public static ValueMemoryOwner <TSource> ToArray <TSource>(this ReadOnlySpan <TSource> source, ArrayPool <TSource> pool, bool clearOnDispose = default) { var result = pool.RentSliced(source.Length, clearOnDispose); Copy(source, result.Memory.Span); return(result); }
public readonly ArraySegment <T> ToArray(ArrayPool <T> pool) { Debug.Assert(pool is object); var result = pool.RentSliced(Count); CopyTo(result.Array !); return(result); }