|
@@ -0,0 +1,6373 @@
|
|
|
+<?xml version="1.0"?>
|
|
|
+<doc>
|
|
|
+ <assembly>
|
|
|
+ <name>CommunityToolkit.HighPerformance</name>
|
|
|
+ </assembly>
|
|
|
+ <members>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Box`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="class"/> that represents a boxed <typeparamref name="T"/> value on the managed heap.
|
|
|
+ This is a "shadow" type that can be used in place of a non-generic <see cref="T:System.Object"/> reference to a
|
|
|
+ boxed value type, to make the code more expressive and reduce the chances of errors.
|
|
|
+ Consider this example:
|
|
|
+ <code>
|
|
|
+ object obj = 42;
|
|
|
+
|
|
|
+ // Manual, error prone unboxing
|
|
|
+ int sum = (int)obj + 1;
|
|
|
+ </code>
|
|
|
+ In this example, it is not possible to know in advance what type is actually being boxed in a given
|
|
|
+ <see cref="T:System.Object"/> instance, making the code less robust at build time. The <see cref="T:CommunityToolkit.HighPerformance.Box`1"/>
|
|
|
+ type can be used as a drop-in replacement in this case, like so:
|
|
|
+ <code>
|
|
|
+ Box<int> box = 42;
|
|
|
+
|
|
|
+ // Build-time validation, automatic unboxing
|
|
|
+ int sum = box.Value + 1;
|
|
|
+ </code>
|
|
|
+ This type can also be useful when dealing with large custom value types that are also boxed, as
|
|
|
+ it allows to retrieve a mutable reference to the boxing value. This means that a given boxed
|
|
|
+ value can be mutated in-place, instead of having to allocate a new updated boxed instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value being boxed.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.#ctor">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ This constructor is never used, it is only declared in order to mark it with
|
|
|
+ the <see langword="private"/> visibility modifier and prevent direct use.
|
|
|
+ </remarks>
|
|
|
+ <exception cref="T:System.InvalidOperationException">Always thrown when this constructor is used (eg. from reflection).</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.GetFrom(System.Object)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference from the input <see cref="T:System.Object"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> instance, representing a boxed <typeparamref name="T"/> value.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference pointing to <paramref name="obj"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.DangerousGetFrom(System.Object)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference from the input <see cref="T:System.Object"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> instance, representing a boxed <typeparamref name="T"/> value.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference pointing to <paramref name="obj"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't check the actual type of <paramref name="obj"/>, so it is responsibility of the caller
|
|
|
+ to ensure it actually represents a boxed <typeparamref name="T"/> value and not some other instance.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.TryGetFrom(System.Object,CommunityToolkit.HighPerformance.Box{`0}@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference from an input <see cref="T:System.Object"/> representing a boxed <typeparamref name="T"/> value.
|
|
|
+ </summary>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> instance to check.</param>
|
|
|
+ <param name="box">The resulting <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> reference, if <paramref name="obj"/> was a boxed <typeparamref name="T"/> value.</param>
|
|
|
+ <returns><see langword="true"/> if a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance was retrieved correctly, <see langword="false"/> otherwise.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.op_Implicit(CommunityToolkit.HighPerformance.Box{`0})~`0">
|
|
|
+ <summary>
|
|
|
+ Implicitly gets the <typeparamref name="T"/> value from a given <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="box">The input <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.op_Implicit(`0)~CommunityToolkit.HighPerformance.Box{`0}">
|
|
|
+ <summary>
|
|
|
+ Implicitly creates a new <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance from a given <typeparamref name="T"/> value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <typeparamref name="T"/> value to wrap.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.Equals(System.Object)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.GetHashCode">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Box`1.ThrowInvalidCastExceptionForGetFrom">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.InvalidCastException"/> when a cast from an invalid <see cref="T:System.Object"/> is attempted.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.BoxExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.BoxExtensions.GetReference``1(CommunityToolkit.HighPerformance.Box{``0})">
|
|
|
+ <summary>
|
|
|
+ Gets a <typeparamref name="T"/> reference from a <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of reference to retrieve.</typeparam>
|
|
|
+ <param name="box">The input <see cref="T:CommunityToolkit.HighPerformance.Box`1"/> instance.</param>
|
|
|
+ <returns>A <typeparamref name="T"/> reference to the boxed value within <paramref name="box"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1">
|
|
|
+ <summary>
|
|
|
+ Represents a heap-based, array-backed output sink into which <typeparamref name="T"/> data can be written.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to write to the current instance.</typeparam>
|
|
|
+ <remarks>
|
|
|
+ This is a custom <see cref="T:System.Buffers.IBufferWriter`1"/> implementation that replicates the
|
|
|
+ functionality and API surface of the array-based buffer writer available in
|
|
|
+ .NET Standard 2.1, with the main difference being the fact that in this case
|
|
|
+ the arrays in use are rented from the shared <see cref="T:System.Buffers.ArrayPool`1"/> instance,
|
|
|
+ and that <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> is also available on .NET Standard 2.0.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.DefaultInitialBufferSize">
|
|
|
+ <summary>
|
|
|
+ The default buffer size to use to expand empty arrays.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.pool">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array">
|
|
|
+ <summary>
|
|
|
+ The underlying <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.index">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor(System.Buffers.ArrayPool{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="initialCapacity">The minimum capacity with which to initialize the underlying buffer.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="initialCapacity"/> is not valid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.#ctor(System.Buffers.ArrayPool{`0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
|
|
|
+ <param name="initialCapacity">The minimum capacity with which to initialize the underlying buffer.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="initialCapacity"/> is not valid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.System#Buffers#IMemoryOwner{T}#Memory">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.WrittenMemory">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.WrittenSpan">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.WrittenCount">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Capacity">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.FreeCapacity">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Clear">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Advance(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.GetMemory(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.GetSpan(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.DangerousGetArray">
|
|
|
+ <summary>
|
|
|
+ Gets an <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.</returns>
|
|
|
+ <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
|
|
|
+ <remarks>
|
|
|
+ This method is meant to be used when working with APIs that only accept an array as input, and should be used with caution.
|
|
|
+ In particular, the returned array is rented from an array pool, and it is responsibility of the caller to ensure that it's
|
|
|
+ not used after the current <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance is disposed. Doing so is considered undefined
|
|
|
+ behavior, as the same array might be in use within another <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.Dispose">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.CheckBufferAndEnsureCapacity(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Ensures that <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/> has enough free space to contain a given number of new items.
|
|
|
+ </summary>
|
|
|
+ <param name="sizeHint">The minimum number of items to ensure space for in <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ResizeBuffer(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Resizes <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/> to ensure it can fit the specified number of new items.
|
|
|
+ </summary>
|
|
|
+ <param name="sizeHint">The minimum number of items to ensure space for in <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeCount">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeSizeHint">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the size hint is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowArgumentExceptionForAdvancedTooFar">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.ThrowObjectDisposedException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ObjectDisposedException"/> when <see cref="F:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1.array"/> is <see langword="null"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.AllocationMode">
|
|
|
+ <summary>
|
|
|
+ An <see langword="enum"/> that indicates a mode to use when allocating buffers.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.AllocationMode.Default">
|
|
|
+ <summary>
|
|
|
+ The default allocation mode for pooled memory (rented buffers are not cleared).
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.AllocationMode.Clear">
|
|
|
+ <summary>
|
|
|
+ Clear pooled buffers when renting them.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.IBuffer`1">
|
|
|
+ <summary>
|
|
|
+ An interface that expands <see cref="T:System.Buffers.IBufferWriter`1"/> with the ability to also inspect
|
|
|
+ the written data, and to reset the underlying buffer to write again from the start.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the current buffer.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.WrittenMemory">
|
|
|
+ <summary>
|
|
|
+ Gets the data written to the underlying buffer so far, as a <see cref="T:System.ReadOnlyMemory`1"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.WrittenSpan">
|
|
|
+ <summary>
|
|
|
+ Gets the data written to the underlying buffer so far, as a <see cref="T:System.ReadOnlySpan`1"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.WrittenCount">
|
|
|
+ <summary>
|
|
|
+ Gets the amount of data written to the underlying buffer so far.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.Capacity">
|
|
|
+ <summary>
|
|
|
+ Gets the total amount of space within the underlying buffer.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.FreeCapacity">
|
|
|
+ <summary>
|
|
|
+ Gets the amount of space available that can still be written into without forcing the underlying buffer to grow.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.IBuffer`1.Clear">
|
|
|
+ <summary>
|
|
|
+ Clears the data written to the underlying buffer.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ You must clear the <see cref="T:CommunityToolkit.HighPerformance.Buffers.IBuffer`1"/> instance before trying to re-use it.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2">
|
|
|
+ <summary>
|
|
|
+ A custom <see cref="T:System.Buffers.MemoryManager`1"/> that casts data from a <typeparamref name="TFrom"/> array, to <typeparamref name="TTo"/> values.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The source type of items to read.</typeparam>
|
|
|
+ <typeparam name="TTo">The target type to cast the source items to.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.array">
|
|
|
+ <summary>
|
|
|
+ The source <typeparamref name="TFrom"/> array to read data from.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.offset">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see name="array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.length">
|
|
|
+ <summary>
|
|
|
+ The original used length for <see name="array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.#ctor(`0[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The source <typeparamref name="TFrom"/> array to read data from.</param>
|
|
|
+ <param name="offset">The starting offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="length">The original used length for <paramref name="array"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.GetSpan">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Pin(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Unpin">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.GetMemory``1(System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.ThrowArgumentOutOfRangeExceptionForInvalidIndex">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the target index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.ArrayMemoryManager`2.Pin(System.Int32)"/> is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.Interfaces.IMemoryManager">
|
|
|
+ <summary>
|
|
|
+ An interface for a <see cref="T:System.Buffers.MemoryManager`1"/> instance that can reinterpret its underlying data.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.Interfaces.IMemoryManager.GetMemory``1(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.Memory`1"/> that reinterprets the underlying data for the current instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The target type to cast the items to.</typeparam>
|
|
|
+ <param name="offset">The starting offset within the data store.</param>
|
|
|
+ <param name="length">The original used length for the data store.</param>
|
|
|
+ <returns>A new <see cref="T:System.Memory`1"/> instance of the specified type, reinterpreting the current items.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2">
|
|
|
+ <summary>
|
|
|
+ A custom <see cref="T:System.Buffers.MemoryManager`1"/> that casts data from a <see cref="T:System.Buffers.MemoryManager`1"/> of <typeparamref name="TFrom"/>, to <typeparamref name="TTo"/> values.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The source type of items to read.</typeparam>
|
|
|
+ <typeparam name="TTo">The target type to cast the source items to.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.memoryManager">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.Buffers.MemoryManager`1"/> to read data from.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.offset">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see name="memoryManager"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.length">
|
|
|
+ <summary>
|
|
|
+ The original used length for <see name="memoryManager"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryManager">The source <see cref="T:System.Buffers.MemoryManager`1"/> to read data from.</param>
|
|
|
+ <param name="offset">The starting offset within <paramref name="memoryManager"/>.</param>
|
|
|
+ <param name="length">The original used length for <paramref name="memoryManager"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.GetSpan">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Pin(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Unpin">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.GetMemory``1(System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.ThrowArgumentExceptionForInvalidIndex">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the target index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Pin(System.Int32)"/> is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.ThrowArgumentExceptionForInvalidAlignment">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.ProxyMemoryManager`2.Pin(System.Int32)"/> receives an invalid target index.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1">
|
|
|
+ <summary>
|
|
|
+ A custom <see cref="T:System.Buffers.MemoryManager`1"/> that can wrap arbitrary <see cref="T:System.Object"/> instances.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the target memory area.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.instance">
|
|
|
+ <summary>
|
|
|
+ The target <see cref="T:System.Object"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.offset">
|
|
|
+ <summary>
|
|
|
+ The initial offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.instance"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.length">
|
|
|
+ <summary>
|
|
|
+ The length of the target memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.#ctor(System.Object,System.IntPtr,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="instance">The target <see cref="T:System.Object"/> instance.</param>
|
|
|
+ <param name="offset">The starting offset within <paramref name="instance"/>.</param>
|
|
|
+ <param name="length">The usable length within <paramref name="instance"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.GetSpan">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Pin(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Unpin">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.ThrowArgumentOutOfRangeExceptionForInvalidElementIndex">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the input index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.RawObjectMemoryManager`1.Pin(System.Int32)"/> is not valid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1">
|
|
|
+ <summary>
|
|
|
+ A custom <see cref="T:System.Buffers.MemoryManager`1"/> that casts data from a <see cref="T:System.String"/> to <typeparamref name="TTo"/> values.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TTo">The target type to cast the source characters to.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.text">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.String"/> to read data from.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.offset">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see name="array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.length">
|
|
|
+ <summary>
|
|
|
+ The original used length for <see name="array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.#ctor(System.String,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The source <see cref="T:System.String"/> to read data from.</param>
|
|
|
+ <param name="offset">The starting offset within <paramref name="text"/>.</param>
|
|
|
+ <param name="length">The original used length for <paramref name="text"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.GetSpan">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Pin(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Unpin">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.GetMemory``1(System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.ThrowArgumentOutOfRangeExceptionForInvalidIndex">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the target index for <see cref="M:CommunityToolkit.HighPerformance.Buffers.Internals.StringMemoryManager`1.Pin(System.Int32)"/> is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1">
|
|
|
+ <summary>
|
|
|
+ Represents an output sink into which <typeparamref name="T"/> data can be written, backed by a <see cref="T:System.Memory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to write to the current instance.</typeparam>
|
|
|
+ <remarks>
|
|
|
+ This is a custom <see cref="T:System.Buffers.IBufferWriter`1"/> implementation that wraps a <see cref="T:System.Memory`1"/> instance.
|
|
|
+ It can be used to bridge APIs consuming an <see cref="T:System.Buffers.IBufferWriter`1"/> with existing <see cref="T:System.Memory`1"/>
|
|
|
+ instances (or objects that can be converted to a <see cref="T:System.Memory`1"/>), to ensure the data is written directly
|
|
|
+ to the intended buffer, with no possibility of doing additional allocations or expanding the available capacity.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.memory">
|
|
|
+ <summary>
|
|
|
+ The underlying <see cref="T:System.Memory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.index">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.memory"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.#ctor(System.Memory{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The target <see cref="T:System.Memory`1"/> instance to write to.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.WrittenMemory">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.WrittenSpan">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.WrittenCount">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.Capacity">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.FreeCapacity">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.Clear">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.Advance(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetMemory(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetSpan(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ValidateSizeHint(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Validates the requested size for either <see cref="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetMemory(System.Int32)"/> or <see cref="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.GetSpan(System.Int32)"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="sizeHint">The minimum number of items to ensure space for in <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.memory"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeCount">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentOutOfRangeExceptionForNegativeSizeHint">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the size hint is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentExceptionForAdvancedTooFar">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the requested count is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1.ThrowArgumentExceptionForCapacityExceeded">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the requested size exceeds the capacity.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1">
|
|
|
+ <summary>
|
|
|
+ An <see cref="T:System.Buffers.IMemoryOwner`1"/> implementation with an embedded length and a fast <see cref="T:System.Span`1"/> accessor.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to store in the current instance.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.start">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.length">
|
|
|
+ <summary>
|
|
|
+ The usable length within <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/> (starting from <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.start"/>).
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.pool">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array">
|
|
|
+ <summary>
|
|
|
+ The underlying <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.#ctor(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="length">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
|
|
|
+ <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.#ctor(System.Int32,System.Int32,System.Buffers.ArrayPool{`0},`0[])">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="start">The starting offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="length">The length of the array to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance currently in use.</param>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0})">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance currently in use.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32,CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance currently in use.</param>
|
|
|
+ <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the number of items in the current instance
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Memory">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Span">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:System.Span`1"/> wrapping the memory belonging to the current instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.DangerousGetReference">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within the current instance, with no bounds check.
|
|
|
+ </summary>
|
|
|
+ <returns>A reference to the first element within the current instance.</returns>
|
|
|
+ <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
|
|
|
+ <remarks>
|
|
|
+ This method does not perform bounds checks on the underlying buffer, but does check whether
|
|
|
+ the buffer itself has been disposed or not. This check should not be removed, and it's also
|
|
|
+ the reason why the method to get a reference at a specified offset is not present.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.DangerousGetArray">
|
|
|
+ <summary>
|
|
|
+ Gets an <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.</returns>
|
|
|
+ <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
|
|
|
+ <remarks>
|
|
|
+ This method is meant to be used when working with APIs that only accept an array as input, and should be used with caution.
|
|
|
+ In particular, the returned array is rented from an array pool, and it is responsibility of the caller to ensure that it's
|
|
|
+ not used after the current <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance is disposed. Doing so is considered undefined behavior,
|
|
|
+ as the same array might be in use within another <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Slice(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Slices the buffer currently in use and returns a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="start">The starting offset within the current buffer.</param>
|
|
|
+ <param name="length">The length of the buffer to use.</param>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance using the target range of items.</returns>
|
|
|
+ <exception cref="T:System.ObjectDisposedException">Thrown when the buffer in use has already been disposed.</exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="start"/> or <paramref name="length"/> are not valid.</exception>
|
|
|
+ <remarks>
|
|
|
+ Using this method will dispose the current instance, and should only be used when an oversized
|
|
|
+ buffer is rented and then adjusted in size, to avoid having to rent a new buffer of the new
|
|
|
+ size and copy the previous items into the new one, or needing an additional variable/field
|
|
|
+ to manually handle to track the used range within a given <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.Dispose">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ThrowObjectDisposedException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ObjectDisposedException"/> when <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.array"/> is <see langword="null"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ThrowInvalidOffsetException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.start"/> is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.ThrowInvalidLengthException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the <see cref="F:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1.length"/> is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1">
|
|
|
+ <summary>
|
|
|
+ A stack-only type with the ability to rent a buffer of a specified length and getting a <see cref="T:System.Span`1"/> from it.
|
|
|
+ This type mirrors <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> but without allocations and with further optimizations.
|
|
|
+ As this is a stack-only type, it relies on the duck-typed <see cref="T:System.IDisposable"/> pattern introduced with C# 8.
|
|
|
+ It should be used like so:
|
|
|
+ <code>
|
|
|
+ using (SpanOwner<byte> buffer = SpanOwner<byte>.Allocate(1024))
|
|
|
+ {
|
|
|
+ // Use the buffer here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ As soon as the code leaves the scope of that <see langword="using"/> block, the underlying buffer will automatically
|
|
|
+ be disposed. The APIs in <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> rely on this pattern for extra performance, eg. they don't perform
|
|
|
+ the additional checks that are done in <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> to ensure that the buffer hasn't been disposed
|
|
|
+ before returning a <see cref="T:System.Memory`1"/> or <see cref="T:System.Span`1"/> instance from it.
|
|
|
+ As such, this type should always be used with a <see langword="using"/> block or expression.
|
|
|
+ Not doing so will cause the underlying buffer not to be returned to the shared pool.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to store in the current instance.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.length">
|
|
|
+ <summary>
|
|
|
+ The usable length within <see cref="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.pool">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent <see cref="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.array">
|
|
|
+ <summary>
|
|
|
+ The underlying <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.#ctor(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="length">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
|
|
|
+ <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0})">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32,CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Allocate(System.Int32,System.Buffers.ArrayPool{`0},CommunityToolkit.HighPerformance.Buffers.AllocationMode)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="size">The length of the new memory buffer to use.</param>
|
|
|
+ <param name="pool">The <see cref="T:System.Buffers.ArrayPool`1"/> instance to use.</param>
|
|
|
+ <param name="mode">Indicates the allocation mode to use for the new buffer to rent.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance of the requested length.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="size"/> is not valid.</exception>
|
|
|
+ <remarks>This method is just a proxy for the <see langword="private"/> constructor, for clarity.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the number of items in the current instance
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Span">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:System.Span`1"/> wrapping the memory belonging to the current instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.DangerousGetReference">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within the current instance, with no bounds check.
|
|
|
+ </summary>
|
|
|
+ <returns>A reference to the first element within the current instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.DangerousGetArray">
|
|
|
+ <summary>
|
|
|
+ Gets an <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:System.ArraySegment`1"/> instance wrapping the underlying <typeparamref name="T"/> array in use.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method is meant to be used when working with APIs that only accept an array as input, and should be used with caution.
|
|
|
+ In particular, the returned array is rented from an array pool, and it is responsibility of the caller to ensure that it's
|
|
|
+ not used after the current <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance is disposed. Doing so is considered undefined behavior,
|
|
|
+ as the same array might be in use within another <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.Dispose">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.IDisposable.Dispose"/> method.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool">
|
|
|
+ <summary>
|
|
|
+ A configurable pool for <see cref="T:System.String"/> instances. This can be used to minimize allocations
|
|
|
+ when creating multiple <see cref="T:System.String"/> instances from buffers of <see cref="T:System.Char"/> values.
|
|
|
+ The <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})"/> method provides a best-effort alternative to just creating
|
|
|
+ a new <see cref="T:System.String"/> instance every time, in order to minimize the number of duplicated instances.
|
|
|
+ The <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> type will internally manage a highly efficient priority queue for the
|
|
|
+ cached <see cref="T:System.String"/> instances, so that when the full capacity is reached, the least frequently
|
|
|
+ used values will be automatically discarded to leave room for new values to cache.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.DefaultSize">
|
|
|
+ <summary>
|
|
|
+ The size used by default by the parameterless constructor.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.MinimumSize">
|
|
|
+ <summary>
|
|
|
+ The minimum size for <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> instances.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.maps">
|
|
|
+ <summary>
|
|
|
+ The current array of <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap"/> instances in use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.numberOfMaps">
|
|
|
+ <summary>
|
|
|
+ The total number of maps in use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.#ctor">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> class.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.#ctor(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="minimumSize">The minimum size for the pool to create.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.StringPool.Shared">
|
|
|
+ <summary>
|
|
|
+ Gets the shared <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> instance.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ The shared pool provides a singleton, reusable <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> instance that
|
|
|
+ can be accessed directly, and that pools <see cref="T:System.String"/> instances for the entire
|
|
|
+ process. Since <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> is thread-safe, the shared instance can be used
|
|
|
+ concurrently by multiple threads without the need for manual synchronization.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.StringPool.Size">
|
|
|
+ <summary>
|
|
|
+ Gets the total number of <see cref="T:System.String"/> that can be stored in the current instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.Add(System.String)">
|
|
|
+ <summary>
|
|
|
+ Stores a <see cref="T:System.String"/> instance in the internal cache.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.String"/> instance to cache.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.String)">
|
|
|
+ <summary>
|
|
|
+ Gets a cached <see cref="T:System.String"/> instance matching the input content, or stores the input one.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.String"/> instance with the contents to use.</param>
|
|
|
+ <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="value"/>, cached if possible.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})">
|
|
|
+ <summary>
|
|
|
+ Gets a cached <see cref="T:System.String"/> instance matching the input content, or creates a new one.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
|
|
|
+ <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="span"/>, cached if possible.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Byte},System.Text.Encoding)">
|
|
|
+ <summary>
|
|
|
+ Gets a cached <see cref="T:System.String"/> instance matching the input content (converted to Unicode), or creates a new one.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use, in a specified encoding.</param>
|
|
|
+ <param name="encoding">The <see cref="T:System.Text.Encoding"/> instance to use to decode the contents of <paramref name="span"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="span"/>, cached if possible.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.TryGet(System.ReadOnlySpan{System.Char},System.String@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a cached <see cref="T:System.String"/> instance matching the input content, if present.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
|
|
|
+ <param name="value">The resulting cached <see cref="T:System.String"/> instance, if present</param>
|
|
|
+ <returns>Whether or not the target <see cref="T:System.String"/> instance was found.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.Reset">
|
|
|
+ <summary>
|
|
|
+ Resets the current instance and its associated maps.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap">
|
|
|
+ <summary>
|
|
|
+ A configurable map containing a group of cached <see cref="T:System.String"/> instances.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ Instances of this type are stored in an array within <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> and they are
|
|
|
+ always accessed by reference - essentially as if this type had been a class. The type is
|
|
|
+ also private, so there's no risk for users to directly access it and accidentally copy an
|
|
|
+ instance, which would lead to bugs due to values becoming out of sync with the internal state
|
|
|
+ (that is, because instances would be copied by value, so primitive fields would not be shared).
|
|
|
+ The reason why we're using a struct here is to remove an indirection level and improve cache
|
|
|
+ locality when accessing individual buckets from the methods in the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool"/> type.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.EndOfList">
|
|
|
+ <summary>
|
|
|
+ The index representing the end of a given list.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.buckets">
|
|
|
+ <summary>
|
|
|
+ The array of 1-based indices for the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry"/> items stored in <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.mapEntries"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.mapEntries">
|
|
|
+ <summary>
|
|
|
+ The array of currently cached entries (ie. the lists for each hash group).
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.heapEntries">
|
|
|
+ <summary>
|
|
|
+ The array of priority values associated to each item stored in <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.mapEntries"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.count">
|
|
|
+ <summary>
|
|
|
+ The current number of items stored in the map.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.timestamp">
|
|
|
+ <summary>
|
|
|
+ The current incremental timestamp for the items stored in <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.heapEntries"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry">
|
|
|
+ <summary>
|
|
|
+ A type representing a map entry, ie. a node in a given list.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.HashCode">
|
|
|
+ <summary>
|
|
|
+ The precomputed hashcode for <see cref="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.Value"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.Value">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.String"/> instance cached in this entry.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.NextIndex">
|
|
|
+ <summary>
|
|
|
+ The 0-based index for the next node in the current list.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.MapEntry.HeapIndex">
|
|
|
+ <summary>
|
|
|
+ The 0-based index for the heap entry corresponding to the current node.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.HeapEntry">
|
|
|
+ <summary>
|
|
|
+ A type representing a heap entry, used to associate priority to each item.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.HeapEntry.Timestamp">
|
|
|
+ <summary>
|
|
|
+ The timestamp for the current entry (ie. the priority for the item).
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.HeapEntry.MapIndex">
|
|
|
+ <summary>
|
|
|
+ The 0-based index for the map entry corresponding to the current item.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.#ctor(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="capacity">The fixed capacity of the current map.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.SyncRoot">
|
|
|
+ <summary>
|
|
|
+ Gets an <see cref="T:System.Object"/> that can be used to synchronize access to the current instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Add(System.String,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.Add(System.String)"/> for the current instance.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.String"/> instance to cache.</param>
|
|
|
+ <param name="hashcode">The precomputed hashcode for <paramref name="value"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.GetOrAdd(System.String,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.String)"/> for the current instance.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.String"/> instance with the contents to use.</param>
|
|
|
+ <param name="hashcode">The precomputed hashcode for <paramref name="value"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="value"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.GetOrAdd(System.ReadOnlySpan{System.Char},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetOrAdd(System.ReadOnlySpan{System.Char})"/> for the current instance.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
|
|
|
+ <param name="hashcode">The precomputed hashcode for <paramref name="span"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.String"/> instance with the contents of <paramref name="span"/>, cached if possible.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.TryGet(System.ReadOnlySpan{System.Char},System.Int32,System.String@)">
|
|
|
+ <summary>
|
|
|
+ Implements <see cref="M:CommunityToolkit.HighPerformance.Buffers.StringPool.TryGet(System.ReadOnlySpan{System.Char},System.String@)"/> for the current instance.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
|
|
|
+ <param name="hashcode">The precomputed hashcode for <paramref name="span"/>.</param>
|
|
|
+ <param name="value">The resulting cached <see cref="T:System.String"/> instance, if present</param>
|
|
|
+ <returns>Whether or not the target <see cref="T:System.String"/> instance was found.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Reset">
|
|
|
+ <summary>
|
|
|
+ Resets the current instance and throws away all the cached values.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.TryGet(System.ReadOnlySpan{System.Char},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a target <see cref="T:System.String"/> instance, if it exists, and returns a reference to it.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> with the contents to use.</param>
|
|
|
+ <param name="hashcode">The precomputed hashcode for <paramref name="span"/>.</param>
|
|
|
+ <returns>A reference to the slot where the target <see cref="T:System.String"/> instance could be.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Insert(System.String,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Inserts a new <see cref="T:System.String"/> instance in the current map, freeing up a space if needed.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The new <see cref="T:System.String"/> instance to store.</param>
|
|
|
+ <param name="hashcode">The precomputed hashcode for <paramref name="value"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.Remove(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Removes a specified <see cref="T:System.String"/> instance from the map to free up one slot.
|
|
|
+ </summary>
|
|
|
+ <param name="hashcode">The precomputed hashcode of the instance to remove.</param>
|
|
|
+ <param name="mapIndex">The index of the target map node to remove.</param>
|
|
|
+ <remarks>The input <see cref="T:System.String"/> instance needs to already exist in the map.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.UpdateTimestamp(System.Int32@)">
|
|
|
+ <summary>
|
|
|
+ Updates the timestamp of a heap node at the specified index (which is then synced back).
|
|
|
+ </summary>
|
|
|
+ <param name="heapIndex">The index of the target heap node to update.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.FixedSizePriorityMap.UpdateAllTimestamps">
|
|
|
+ <summary>
|
|
|
+ Updates the timestamp of all the current heap nodes in incrementing order.
|
|
|
+ The heap is always guaranteed to be complete binary tree, so when it contains
|
|
|
+ a given number of nodes, those are all contiguous from the start of the array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.GetHashCode(System.ReadOnlySpan{System.Char})">
|
|
|
+ <summary>
|
|
|
+ Gets the (positive) hashcode for a given <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <returns>The hashcode for <paramref name="span"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.StringPool.ThrowArgumentOutOfRangeException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the requested size exceeds the capacity.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1">
|
|
|
+ <summary>
|
|
|
+ A debug proxy used to display items in a 1D layout.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to display.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="arrayPoolBufferWriter">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryBufferWriter">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryBufferWriter`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.MemoryOwner{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryOwner">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.MemoryOwner`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.#ctor(CommunityToolkit.HighPerformance.Buffers.SpanOwner{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="spanOwner">The input <see cref="T:CommunityToolkit.HighPerformance.Buffers.SpanOwner`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Buffers.Views.MemoryDebugView`1.Items">
|
|
|
+ <summary>
|
|
|
+ Gets the items to display for the current instance
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="ref"/> <see langword="struct"/> that iterates readonly items from arbitrary memory locations.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.span">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.
|
|
|
+ </summary>
|
|
|
+ <remarks>The <see cref="P:System.ReadOnlySpan`1.Length"/> field maps to the total available length.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.step">
|
|
|
+ <summary>
|
|
|
+ The distance between items in the sequence to enumerate.
|
|
|
+ </summary>
|
|
|
+ <remarks>The distance refers to <typeparamref name="T"/> items, not byte offset.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.#ctor(System.ReadOnlySpan{`0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.#ctor(`0@,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="reference">A reference to the first item of the sequence.</param>
|
|
|
+ <param name="length">The number of items in the sequence.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.DangerousCreate(`0@,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="length">The number of items in the sequence.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance with the specified parameters.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the total available length for the sequence.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Item(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based index.
|
|
|
+ </summary>
|
|
|
+ <param name="index">The zero-based index of the element.</param>
|
|
|
+ <returns>A reference to the element at the specified index.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when <paramref name="index"/> is invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Item(System.Index)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based index.
|
|
|
+ </summary>
|
|
|
+ <param name="index">The zero-based index of the element.</param>
|
|
|
+ <returns>A reference to the element at the specified index.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when <paramref name="index"/> is invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.GetEnumerator">
|
|
|
+ <inheritdoc cref="M:System.Collections.IEnumerable.GetEnumerator"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.CopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.TryCopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.CopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> into a destination <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.TryCopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to a destination <see cref="T:System.Span`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ToArray">
|
|
|
+ <inheritdoc cref="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ToArray"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.op_Implicit(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})~CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable{`0}">
|
|
|
+ <summary>
|
|
|
+ Implicitly converts a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance into a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> one.
|
|
|
+ </summary>
|
|
|
+ <param name="enumerable">The input <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator">
|
|
|
+ <summary>
|
|
|
+ A custom enumerator type to traverse items within a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.span">
|
|
|
+ <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.span"/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.step">
|
|
|
+ <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.step"/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.position">
|
|
|
+ <summary>
|
|
|
+ The current position in the sequence.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.#ctor(System.ReadOnlySpan{`0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The <see cref="T:System.ReadOnlySpan`1"/> instance with the info on the items to traverse.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.MoveNext">
|
|
|
+ <inheritdoc cref="M:System.Collections.IEnumerator.MoveNext"/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.Enumerator.Current">
|
|
|
+ <inheritdoc cref="P:System.Collections.Generic.IEnumerator`1.Current"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ThrowArgumentOutOfRangeExceptionForLength">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "length" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ThrowArgumentOutOfRangeExceptionForStep">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "step" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1.ThrowArgumentExceptionForDestinationTooShort">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the target span is too short.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="ref"/> <see langword="struct"/> that enumerates the items in a given <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.span">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.index">
|
|
|
+ <summary>
|
|
|
+ The current index within <see cref="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.span"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.#ctor(System.ReadOnlySpan{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.GetEnumerator">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> instance targeting the current <see cref="T:System.ReadOnlySpan`1"/> value.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.MoveNext">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Current">
|
|
|
+ <summary>
|
|
|
+ Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item">
|
|
|
+ <summary>
|
|
|
+ An item from a source <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.span">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.#ctor(`0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="value">A reference to the target value.</param>
|
|
|
+ <param name="index">The index of the target value.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.Value">
|
|
|
+ <summary>
|
|
|
+ Gets the reference to the current value.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1.Item.Index">
|
|
|
+ <summary>
|
|
|
+ Gets the current index.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="ref"/> <see langword="struct"/> that tokenizes a given <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.span">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.separator">
|
|
|
+ <summary>
|
|
|
+ The separator item to use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.start">
|
|
|
+ <summary>
|
|
|
+ The current initial offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.end">
|
|
|
+ <summary>
|
|
|
+ The current final offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.#ctor(System.ReadOnlySpan{`0},`0)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="separator">The separator item to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.GetEnumerator">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> instance targeting the current <see cref="T:System.ReadOnlySpan`1"/> value.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.MoveNext">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1.Current">
|
|
|
+ <summary>
|
|
|
+ Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="ref"/> <see langword="struct"/> that iterates items from arbitrary memory locations.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Span">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Span`1"/> instance pointing to the first item in the target memory area.
|
|
|
+ </summary>
|
|
|
+ <remarks>The <see cref="P:System.Span`1.Length"/> field maps to the total available length.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Step">
|
|
|
+ <summary>
|
|
|
+ The distance between items in the sequence to enumerate.
|
|
|
+ </summary>
|
|
|
+ <remarks>The distance refers to <typeparamref name="T"/> items, not byte offset.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.#ctor(`0@,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="reference">A reference to the first item of the sequence.</param>
|
|
|
+ <param name="length">The number of items in the sequence.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.DangerousCreate(`0@,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="length">The number of items in the sequence.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance with the specified parameters.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the total available length for the sequence.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Item(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based index.
|
|
|
+ </summary>
|
|
|
+ <param name="index">The zero-based index of the element.</param>
|
|
|
+ <returns>A reference to the element at the specified index.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when <paramref name="index"/> is invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Item(System.Index)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based index.
|
|
|
+ </summary>
|
|
|
+ <param name="index">The zero-based index of the element.</param>
|
|
|
+ <returns>A reference to the element at the specified index.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when <paramref name="index"/> is invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.GetEnumerator">
|
|
|
+ <inheritdoc cref="M:System.Collections.IEnumerable.GetEnumerator"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Clear">
|
|
|
+ <summary>
|
|
|
+ Clears the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.CopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.TryCopyTo(CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.CopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> into a destination <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination"/> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.TryCopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to a destination <see cref="T:System.Span`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.CopyFrom(System.ReadOnlySpan{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of a source <see cref="T:System.ReadOnlySpan`1"/> into the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="source">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> is shorter than the source <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.TryCopyFrom(System.ReadOnlySpan{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the source <see cref="T:System.ReadOnlySpan`1"/> into the current <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="source">The source <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Fill(`0)">
|
|
|
+ <summary>
|
|
|
+ Fills the elements of this <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with a specified value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The value to assign to each element of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ToArray">
|
|
|
+ <summary>
|
|
|
+ Returns a <typeparamref name="T"/> array with the values in the target row.
|
|
|
+ </summary>
|
|
|
+ <returns>A <typeparamref name="T"/> array with the values in the target row.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method will allocate a new <typeparamref name="T"/> array, so only
|
|
|
+ use it if you really need to copy the target items in a new memory location.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator">
|
|
|
+ <summary>
|
|
|
+ A custom enumerator type to traverse items within a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.span">
|
|
|
+ <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Span"/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.step">
|
|
|
+ <inheritdoc cref="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Step"/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.position">
|
|
|
+ <summary>
|
|
|
+ The current position in the sequence.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.#ctor(System.Span{`0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The <see cref="T:System.Span`1"/> instance with the info on the items to traverse.</param>
|
|
|
+ <param name="step">The distance between items in the sequence to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.MoveNext">
|
|
|
+ <inheritdoc cref="M:System.Collections.IEnumerator.MoveNext"/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.Enumerator.Current">
|
|
|
+ <inheritdoc cref="P:System.Collections.Generic.IEnumerator`1.Current"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ThrowArgumentOutOfRangeExceptionForLength">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "length" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ThrowArgumentOutOfRangeExceptionForStep">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "step" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1.ThrowArgumentExceptionForDestinationTooShort">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the target span is too short.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="ref"/> <see langword="struct"/> that enumerates the items in a given <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.span">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.index">
|
|
|
+ <summary>
|
|
|
+ The current index within <see cref="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.span"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.#ctor(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The source <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.GetEnumerator">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> instance targeting the current <see cref="T:System.Span`1"/> value.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.MoveNext">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Current">
|
|
|
+ <summary>
|
|
|
+ Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item">
|
|
|
+ <summary>
|
|
|
+ An item from a source <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.span">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.#ctor(`0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="value">A reference to the target value.</param>
|
|
|
+ <param name="index">The index of the target value.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.Value">
|
|
|
+ <summary>
|
|
|
+ Gets the reference to the current value.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1.Item.Index">
|
|
|
+ <summary>
|
|
|
+ Gets the current index.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1">
|
|
|
+ <summary>
|
|
|
+ A <see langword="ref"/> <see langword="struct"/> that tokenizes a given <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.span">
|
|
|
+ <summary>
|
|
|
+ The source <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.separator">
|
|
|
+ <summary>
|
|
|
+ The separator item to use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.start">
|
|
|
+ <summary>
|
|
|
+ The current initial offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.end">
|
|
|
+ <summary>
|
|
|
+ The current final offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.#ctor(System.Span{`0},`0)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The source <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="separator">The separator item to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.GetEnumerator">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.Generic.IEnumerable`1.GetEnumerator"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns>An <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> instance targeting the current <see cref="T:System.Span`1"/> value.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.MoveNext">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1.Current">
|
|
|
+ <summary>
|
|
|
+ Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ArrayExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Array"/> type.
|
|
|
+ </summary>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReference``1(``0[])">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given <typeparamref name="T"/> array, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A reference to the first element within <paramref name="array"/>, or the location it would have used, if <paramref name="array"/> is empty.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReferenceAt``1(``0[],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified index within a given <typeparamref name="T"/> array, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="array"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="array"/> at the index specified by <paramref name="i"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Count``1(``0[],``0)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given value into a target <typeparamref name="T"/> array instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="value">The <typeparamref name="T"/> value to look for.</param>
|
|
|
+ <returns>The number of occurrences of <paramref name="value"/> in <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Enumerate``1(``0[])">
|
|
|
+ <summary>
|
|
|
+ Enumerates the items in the input <typeparamref name="T"/> array instance, as pairs of reference/index values.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ int[] numbers = new[] { 1, 2, 3, 4, 5, 6, 7 };
|
|
|
+
|
|
|
+ foreach (var item in numbers.Enumerate())
|
|
|
+ {
|
|
|
+ // Access the index and value of each item here...
|
|
|
+ int index = item.Index;
|
|
|
+ ref int value = ref item.Value;
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ <param name="array">The source <typeparamref name="T"/> array to enumerate.</param>
|
|
|
+ <returns>A wrapper type that will handle the reference/index enumeration for <paramref name="array"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Tokenize``1(``0[],``0)">
|
|
|
+ <summary>
|
|
|
+ Tokenizes the values in the input <typeparamref name="T"/> array instance using a specified separator.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ char[] text = "Hello, world!".ToCharArray();
|
|
|
+
|
|
|
+ foreach (var token in text.Tokenize(','))
|
|
|
+ {
|
|
|
+ // Access the tokens here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the <typeparamref name="T"/> array to tokenize.</typeparam>
|
|
|
+ <param name="array">The source <typeparamref name="T"/> array to tokenize.</param>
|
|
|
+ <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
|
|
|
+ <returns>A wrapper type that will handle the tokenization for <paramref name="array"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetDjb2HashCode``1(``0[])">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input <typeparamref name="T"/> array instance using the Djb2 algorithm.
|
|
|
+ For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>The Djb2 value for the input <typeparamref name="T"/> array instance.</returns>
|
|
|
+ <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.IsCovariant``1(``0[])">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given <typeparamref name="T"/> array is covariant.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>Whether or not <paramref name="array"/> is covariant.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowOverflowException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.OverflowException"/> when the "column" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReference``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given 2D <typeparamref name="T"/> array, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A reference to the first element within <paramref name="array"/>, or the location it would have used, if <paramref name="array"/> is empty.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReferenceAt``1(``0[0:,0:],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified coordinate within a given 2D <typeparamref name="T"/> array, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="i">The vertical index of the element to retrieve within <paramref name="array"/>.</param>
|
|
|
+ <param name="j">The horizontal index of the element to retrieve within <paramref name="array"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="array"/> at the coordinate specified by <paramref name="i"/> and <paramref name="j"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/>
|
|
|
+ and <paramref name="j"/> parameters are valid. Furthermore, this extension will ignore the lower bounds for the input
|
|
|
+ array, and will just assume that the input index is 0-based. It is responsibility of the caller to adjust the input
|
|
|
+ indices to account for the actual lower bounds, if the input array has either axis not starting at 0.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetRow``1(``0[0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> over a row in a given 2D <typeparamref name="T"/> array instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="row">The target row to retrieve (0-based index).</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with the items from the target row within <paramref name="array"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the input parameters is out of range.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetColumn``1(``0[0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> that returns the items from a given column in a given 2D <typeparamref name="T"/> array instance.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ int[,] matrix =
|
|
|
+ {
|
|
|
+ { 1, 2, 3 },
|
|
|
+ { 4, 5, 6 },
|
|
|
+ { 7, 8, 9 }
|
|
|
+ };
|
|
|
+
|
|
|
+ foreach (ref int number in matrix.GetColumn(1))
|
|
|
+ {
|
|
|
+ // Access the current number by reference here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="column">The target column to retrieve (0-based index).</param>
|
|
|
+ <returns>A wrapper type that will handle the column enumeration for <paramref name="array"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the input parameters is out of range.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan2D``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> over an input 2D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan2D``1(``0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> over an input 2D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory2D``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> over an input 2D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory2D``1(``0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> over an input 2D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetRowSpan``1(``0[0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.Span`1"/> over a row in a given 2D <typeparamref name="T"/> array instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="row">The target row to retrieve (0-based index).</param>
|
|
|
+ <returns>A <see cref="T:System.Span`1"/> with the items from the target row within <paramref name="array"/>.</returns>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="row"/> is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetRowMemory``1(``0[0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.Memory`1"/> over a row in a given 2D <typeparamref name="T"/> array instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="row">The target row to retrieve (0-based index).</param>
|
|
|
+ <returns>A <see cref="T:System.Memory`1"/> with the items from the target row within <paramref name="array"/>.</returns>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="row"/> is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.Memory`1"/> over an input 2D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A <see cref="T:System.Memory`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.Span`1"/> over an input 2D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A <see cref="T:System.Span`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Count``1(``0[0:,0:],``0)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given value into a target 2D <typeparamref name="T"/> array instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="value">The <typeparamref name="T"/> value to look for.</param>
|
|
|
+ <returns>The number of occurrences of <paramref name="value"/> in <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetDjb2HashCode``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input 2D <typeparamref name="T"/> array instance using the Djb2 algorithm.
|
|
|
+ For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input 2D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>The Djb2 value for the input 2D <typeparamref name="T"/> array instance.</returns>
|
|
|
+ <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.IsCovariant``1(``0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given <typeparamref name="T"/> array is covariant.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>Whether or not <paramref name="array"/> is covariant.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArrayTypeMismatchException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArrayTypeMismatchException"/> when using an array of an invalid type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArgumentOutOfRangeExceptionForRow">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "row" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArgumentOutOfRangeExceptionForColumn">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "column" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReference``1(``0[0:,0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given 3D <typeparamref name="T"/> array, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A reference to the first element within <paramref name="array"/>, or the location it would have used, if <paramref name="array"/> is empty.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.DangerousGetReferenceAt``1(``0[0:,0:,0:],System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified coordinate within a given 3D <typeparamref name="T"/> array, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 2D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="i">The depth index of the element to retrieve within <paramref name="array"/>.</param>
|
|
|
+ <param name="j">The vertical index of the element to retrieve within <paramref name="array"/>.</param>
|
|
|
+ <param name="k">The horizontal index of the element to retrieve within <paramref name="array"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="array"/> at the coordinate specified by <paramref name="i"/> and <paramref name="j"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/>
|
|
|
+ and <paramref name="j"/> parameters are valid. Furthermore, this extension will ignore the lower bounds for the input
|
|
|
+ array, and will just assume that the input index is 0-based. It is responsibility of the caller to adjust the input
|
|
|
+ indices to account for the actual lower bounds, if the input array has either axis not starting at 0.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory``1(``0[0:,0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.Memory`1"/> over an input 3D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A <see cref="T:System.Memory`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan``1(``0[0:,0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.Span`1"/> over an input 3D <typeparamref name="T"/> array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>A <see cref="T:System.Span`1"/> instance with the values of <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan``1(``0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:System.Span`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="depth"/> is invalid.</exception>
|
|
|
+ <returns>A <see cref="T:System.Span`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory``1(``0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:System.Memory`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.</exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="depth"/> is invalid.</exception>
|
|
|
+ <returns>A <see cref="T:System.Memory`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsSpan2D``1(``0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when either <paramref name="depth"/> is invalid.</exception>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.AsMemory2D``1(``0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when either <paramref name="depth"/> is invalid.</exception>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance wrapping the target layer within <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.Count``1(``0[0:,0:,0:],``0)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given value into a target 3D <typeparamref name="T"/> array instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <param name="value">The <typeparamref name="T"/> value to look for.</param>
|
|
|
+ <returns>The number of occurrences of <paramref name="value"/> in <paramref name="array"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.GetDjb2HashCode``1(``0[0:,0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input 3D <typeparamref name="T"/> array instance using the Djb2 algorithm.
|
|
|
+ For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input 3D <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input 3D <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>The Djb2 value for the input 3D <typeparamref name="T"/> array instance.</returns>
|
|
|
+ <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.IsCovariant``1(``0[0:,0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given <typeparamref name="T"/> array is covariant.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <typeparamref name="T"/> array instance.</typeparam>
|
|
|
+ <param name="array">The input <typeparamref name="T"/> array instance.</param>
|
|
|
+ <returns>Whether or not <paramref name="array"/> is covariant.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayExtensions.ThrowArgumentOutOfRangeExceptionForDepth">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "depth" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ArrayPoolBufferWriterExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayPoolBufferWriterExtensions.AsStream(CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.IO.Stream"/> that can be used to write to a target an <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="writer">The target <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping <paramref name="writer"/> and writing data to its underlying buffer.</returns>
|
|
|
+ <remarks>The returned <see cref="T:System.IO.Stream"/> can only be written to and does not support seeking.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ArrayPoolExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Buffers.ArrayPool`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayPoolExtensions.Resize``1(System.Buffers.ArrayPool{``0},``0[]@,System.Int32,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Changes the number of elements of a rented one-dimensional array to the specified new size.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items into the target array to resize.</typeparam>
|
|
|
+ <param name="pool">The target <see cref="T:System.Buffers.ArrayPool`1"/> instance to use to resize the array.</param>
|
|
|
+ <param name="array">The rented <typeparamref name="T"/> array to resize, or <see langword="null"/> to create a new array.</param>
|
|
|
+ <param name="newSize">The size of the new array.</param>
|
|
|
+ <param name="clearArray">Indicates whether the contents of the array should be cleared before reuse.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="newSize"/> is less than 0.</exception>
|
|
|
+ <remarks>When this method returns, the caller must not use any references to the old array anymore.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayPoolExtensions.EnsureCapacity``1(System.Buffers.ArrayPool{``0},``0[]@,System.Int32,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Ensures that when the method returns <paramref name="array"/> is not null and is at least <paramref name="capacity"/> in length.
|
|
|
+ Contents of <paramref name="array"/> are not copied if a new array is rented.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items into the target array given as input.</typeparam>
|
|
|
+ <param name="pool">The target <see cref="T:System.Buffers.ArrayPool`1"/> instance used to rent and/or return the array.</param>
|
|
|
+ <param name="array">The rented <typeparamref name="T"/> array to ensure capacity for, or <see langword="null"/> to rent a new array.</param>
|
|
|
+ <param name="capacity">The minimum length of <paramref name="array"/> when the method returns.</param>
|
|
|
+ <param name="clearArray">Indicates whether the contents of the array should be cleared if returned to the pool.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when <paramref name="capacity"/> is less than 0.</exception>
|
|
|
+ <remarks>When this method returns, the caller must not use any references to the old array anymore.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ArrayPoolExtensions.ThrowArgumentOutOfRangeExceptionForNegativeArrayCapacity">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "capacity" parameter is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.BoolExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Boolean"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.BoolExtensions.ToByte(System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Converts the given <see cref="T:System.Boolean"/> value into a <see cref="T:System.Byte"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="flag">The input value to convert.</param>
|
|
|
+ <returns>1 if <paramref name="flag"/> is <see langword="true"/>, 0 otherwise.</returns>
|
|
|
+ <remarks>This method does not contain branching instructions.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.BoolExtensions.ToBitwiseMask32(System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Converts the given <see cref="T:System.Boolean"/> value to an <see cref="T:System.Int32"/> mask with
|
|
|
+ all bits representing the value of the input flag (either 0xFFFFFFFF or 0x00000000).
|
|
|
+ </summary>
|
|
|
+ <param name="flag">The input value to convert.</param>
|
|
|
+ <returns>0xFFFFFFFF if <paramref name="flag"/> is <see langword="true"/>, 0x00000000 otherwise.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method does not contain branching instructions, and it is only guaranteed to work with
|
|
|
+ <see cref="T:System.Boolean"/> values being either 0 or 1. Operations producing a <see cref="T:System.Boolean"/> result,
|
|
|
+ such as numerical comparisons, always result in a valid value. If the <see cref="T:System.Boolean"/> value is
|
|
|
+ produced by fields with a custom <see cref="T:System.Runtime.InteropServices.FieldOffsetAttribute"/>,
|
|
|
+ or by using <see cref="M:System.Runtime.CompilerServices.Unsafe.As``1(System.Object)"/> or other unsafe APIs to directly manipulate the underlying
|
|
|
+ data though, it is responsibility of the caller to ensure the validity of the provided value.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.BoolExtensions.ToBitwiseMask64(System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Converts the given <see cref="T:System.Boolean"/> value to a <see cref="T:System.Int64"/> mask with
|
|
|
+ all bits representing the value of the input flag (either all 1s or 0s).
|
|
|
+ </summary>
|
|
|
+ <param name="flag">The input value to convert.</param>
|
|
|
+ <returns>All 1s if <paramref name="flag"/> is <see langword="true"/>, all 0s otherwise.</returns>
|
|
|
+ <remarks>This method does not contain branching instructions. See additional note in <see cref="M:CommunityToolkit.HighPerformance.BoolExtensions.ToBitwiseMask32(System.Boolean)"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.HashCodeExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.HashCode"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.HashCodeExtensions.Add``1(System.HashCode@,System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Adds a sequence of <typeparamref name="T"/> values to the hash code.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="hashCode">The input <see cref="T:System.HashCode"/> instance.</param>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.IBufferWriterExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Buffers.IBufferWriter`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.AsStream(System.Buffers.IBufferWriter{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.IO.Stream"/> that can be used to write to a target an <see cref="T:System.Buffers.IBufferWriter`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping <paramref name="writer"/> and writing data to its underlying buffer.</returns>
|
|
|
+ <remarks>The returned <see cref="T:System.IO.Stream"/> can only be written to and does not support seeking.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.Write``1(System.Buffers.IBufferWriter{System.Byte},``0)">
|
|
|
+ <summary>
|
|
|
+ Writes a value of a specified type into a target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to write.</typeparam>
|
|
|
+ <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to write to.</param>
|
|
|
+ <param name="value">The input value to write to <paramref name="writer"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown if <paramref name="writer"/> reaches the end.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.Write``1(System.Buffers.IBufferWriter{``0},``0)">
|
|
|
+ <summary>
|
|
|
+ Writes a value of a specified type into a target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to write.</typeparam>
|
|
|
+ <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to write to.</param>
|
|
|
+ <param name="value">The input value to write to <paramref name="writer"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown if <paramref name="writer"/> reaches the end.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.Write``1(System.Buffers.IBufferWriter{System.Byte},System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Writes a series of items of a specified type into a target <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to write.</typeparam>
|
|
|
+ <param name="writer">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to write to.</param>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> to write to <paramref name="writer"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown if <paramref name="writer"/> reaches the end.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.IBufferWriterExtensions.ThrowArgumentExceptionForEndOfBuffer">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when trying to write too many bytes to the target writer.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.IMemoryOwnerExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Buffers.IMemoryOwner`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.IMemoryOwnerExtensions.AsStream(System.Buffers.IMemoryOwner{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.IO.Stream"/> wrapping the contents of the given <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryOwner">The input <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping the data within <paramref name="memoryOwner"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ The caller does not need to track the lifetime of the input <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/>
|
|
|
+ instance, as the returned <see cref="T:System.IO.Stream"/> will take care of disposing that buffer when it is closed.
|
|
|
+ </remarks>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when <paramref name="memoryOwner"/> has an invalid data store.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.MemoryExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Memory`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsMemory2D``1(System.Memory{``0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Memory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Memory`1"/> instance.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> instance.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsMemory2D``1(System.Memory{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Memory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Memory`1"/> instance.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> instance.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="memory"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsBytes``1(System.Memory{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.Memory`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.Memory`1"/> of bytes.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type if items in the source <see cref="T:System.Memory`1"/>.</typeparam>
|
|
|
+ <param name="memory">The source <see cref="T:System.Memory`1"/>, of type <typeparamref name="T"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.Memory`1"/> of bytes.</returns>
|
|
|
+ <exception cref="T:System.OverflowException">
|
|
|
+ Thrown if the <see cref="P:System.Memory`1.Length"/> property of the new <see cref="T:System.Memory`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.Cast``2(System.Memory{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.Memory`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The type of items in the source <see cref="T:System.Memory`1"/>.</typeparam>
|
|
|
+ <typeparam name="TTo">The type of items in the destination <see cref="T:System.Memory`1"/>.</typeparam>
|
|
|
+ <param name="memory">The source <see cref="T:System.Memory`1"/>, of type <typeparamref name="TFrom"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.Memory`1"/> of type <typeparamref name="TTo"/></returns>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.MemoryExtensions.AsStream(System.Memory{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.IO.Stream"/> wrapping the contents of the given <see cref="T:System.Memory`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> of <see cref="T:System.Byte"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping the data within <paramref name="memory"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ Since this method only receives a <see cref="T:System.Memory`1"/> instance, which does not track
|
|
|
+ the lifetime of its underlying buffer, it is responsibility of the caller to manage that.
|
|
|
+ In particular, the caller must ensure that the target buffer is not disposed as long
|
|
|
+ as the returned <see cref="T:System.IO.Stream"/> is in use, to avoid unexpected issues.
|
|
|
+ </remarks>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when <paramref name="memory"/> has an invalid data store.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.ReadOnlyMemory`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsMemory2D``1(System.ReadOnlyMemory{``0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlyMemory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlyMemory`1"/> instance.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> instance.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsMemory2D``1(System.ReadOnlyMemory{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlyMemory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlyMemory`1"/> instance.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> instance.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="memory"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsBytes``1(System.ReadOnlyMemory{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.ReadOnlyMemory`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.ReadOnlyMemory`1"/> of bytes.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type if items in the source <see cref="T:System.ReadOnlyMemory`1"/>.</typeparam>
|
|
|
+ <param name="memory">The source <see cref="T:System.ReadOnlyMemory`1"/>, of type <typeparamref name="T"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.ReadOnlyMemory`1"/> of bytes.</returns>
|
|
|
+ <exception cref="T:System.OverflowException">
|
|
|
+ Thrown if the <see cref="P:System.ReadOnlyMemory`1.Length"/> property of the new <see cref="T:System.ReadOnlyMemory`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.Cast``2(System.ReadOnlyMemory{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.ReadOnlyMemory`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The type of items in the source <see cref="T:System.ReadOnlyMemory`1"/>.</typeparam>
|
|
|
+ <typeparam name="TTo">The type of items in the destination <see cref="T:System.ReadOnlyMemory`1"/>.</typeparam>
|
|
|
+ <param name="memory">The source <see cref="T:System.ReadOnlyMemory`1"/>, of type <typeparamref name="TFrom"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.ReadOnlyMemory`1"/> of type <typeparamref name="TTo"/></returns>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when the data store of <paramref name="memory"/> is not supported.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemoryExtensions.AsStream(System.ReadOnlyMemory{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:System.IO.Stream"/> wrapping the contents of the given <see cref="T:System.ReadOnlyMemory`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> of <see cref="T:System.Byte"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping the data within <paramref name="memory"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ Since this method only receives a <see cref="T:System.Memory`1"/> instance, which does not track
|
|
|
+ the lifetime of its underlying buffer, it is responsibility of the caller to manage that.
|
|
|
+ In particular, the caller must ensure that the target buffer is not disposed as long
|
|
|
+ as the returned <see cref="T:System.IO.Stream"/> is in use, to avoid unexpected issues.
|
|
|
+ </remarks>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when <paramref name="memory"/> has an invalid data store.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.ReadOnlySpan`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetReference``1(System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given <see cref="T:System.ReadOnlySpan`1"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <returns>A reference to the first element within <paramref name="span"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetReferenceAt``1(System.ReadOnlySpan{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified index within a given <see cref="T:System.ReadOnlySpan`1"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetReferenceAt``1(System.ReadOnlySpan{``0},System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified index within a given <see cref="T:System.ReadOnlySpan`1"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.DangerousGetLookupReferenceAt``1(System.ReadOnlySpan{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given <see cref="T:System.ReadOnlySpan`1"/>, clamping the input index in the valid range.
|
|
|
+ If the <paramref name="i"/> parameter exceeds the length of <paramref name="span"/>, it will be clamped to 0.
|
|
|
+ Therefore, the returned reference will always point to a valid element within <paramref name="span"/>, assuming it is not empty.
|
|
|
+ This method is specifically meant to efficiently index lookup tables, especially if they point to constant data.
|
|
|
+ Consider this example where a lookup table is used to validate whether a given character is within a specific set:
|
|
|
+ <code>
|
|
|
+ public static ReadOnlySpan<bool> ValidSetLookupTable => new bool[]
|
|
|
+ {
|
|
|
+ false, true, true, true, true, true, false, true,
|
|
|
+ false, false, true, false, true, false, true, false,
|
|
|
+ true, false, false, true, false, false, false, false,
|
|
|
+ false, false, false, false, true, true, false, true
|
|
|
+ };
|
|
|
+
|
|
|
+ int ch = Console.Read();
|
|
|
+ bool isValid = ValidSetLookupTable.DangerousGetLookupReference(ch);
|
|
|
+ </code>
|
|
|
+ Even if the input index is outside the range of the lookup table, being clamped to 0, it will
|
|
|
+ just cause the value 0 to be returned in this case, which is functionally the same for the check
|
|
|
+ being performed. This extension can easily be used whenever the first position in a lookup
|
|
|
+ table being referenced corresponds to a falsey value, like in this case.
|
|
|
+ Additionally, the example above leverages a compiler optimization introduced with C# 7.3,
|
|
|
+ which allows <see cref="T:System.ReadOnlySpan`1"/> instances pointing to compile-time constant data
|
|
|
+ to be directly mapped to the static .text section in the final assembly: the array being
|
|
|
+ created in code will never actually be allocated, and the <see cref="T:System.ReadOnlySpan`1"/> will
|
|
|
+ just point to constant data. Note that this only works for blittable values that are not
|
|
|
+ dependent on the byte endianness of the system, like <see cref="T:System.Byte"/> or <see cref="T:System.Boolean"/>.
|
|
|
+ For more info, see <see href="https://vcsjones.dev/2019/02/01/csharp-readonly-span-bytes-static/"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
|
|
|
+ <returns>
|
|
|
+ A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>,
|
|
|
+ or a reference to the first element within <paramref name="span"/> if <paramref name="i"/> was not a valid index.
|
|
|
+ </returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.AsSpan2D``1(System.ReadOnlySpan{``0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="span"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.AsSpan2D``1(System.ReadOnlySpan{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="span"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="span"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.IndexOf``1(System.ReadOnlySpan{``0},``0@)">
|
|
|
+ <summary>
|
|
|
+ Gets the index of an element of a given <see cref="T:System.ReadOnlySpan`1"/> from its reference.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type if items in the input <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> to calculate the index for.</param>
|
|
|
+ <param name="value">The reference to the target item to get the index for.</param>
|
|
|
+ <returns>The index of <paramref name="value"/> within <paramref name="span"/>, or <c>-1</c>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Count``1(System.ReadOnlySpan{``0},``0)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given value into a target <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance to read.</param>
|
|
|
+ <param name="value">The <typeparamref name="T"/> value to look for.</param>
|
|
|
+ <returns>The number of occurrences of <paramref name="value"/> in <paramref name="span"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.AsBytes``1(System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.ReadOnlySpan`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.ReadOnlySpan`1"/> of bytes.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type if items in the source <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
|
|
|
+ <param name="span">The source slice, of type <typeparamref name="T"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.ReadOnlySpan`1"/> of bytes.</returns>
|
|
|
+ <exception cref="T:System.OverflowException">
|
|
|
+ Thrown if the <see cref="P:System.ReadOnlySpan`1.Length"/> property of the new <see cref="T:System.ReadOnlySpan`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Cast``2(System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.ReadOnlySpan`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The type of items in the source <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
|
|
|
+ <typeparam name="TTo">The type of items in the destination <see cref="T:System.ReadOnlySpan`1"/>.</typeparam>
|
|
|
+ <param name="span">The source slice, of type <typeparamref name="TFrom"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.ReadOnlySpan`1"/> of type <typeparamref name="TTo"/></returns>
|
|
|
+ <remarks>
|
|
|
+ Supported only for platforms that support misaligned memory access or when the memory block is aligned by other means.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Enumerate``1(System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Enumerates the items in the input <see cref="T:System.ReadOnlySpan`1"/> instance, as pairs of value/index values.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ ReadOnlySpan<string> words = new[] { "Hello", ", ", "world", "!" };
|
|
|
+
|
|
|
+ foreach (var item in words.Enumerate())
|
|
|
+ {
|
|
|
+ // Access the index and value of each item here...
|
|
|
+ int index = item.Index;
|
|
|
+ string value = item.Value;
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> to enumerate.</param>
|
|
|
+ <returns>A wrapper type that will handle the value/index enumeration for <paramref name="span"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.Tokenize``1(System.ReadOnlySpan{``0},``0)">
|
|
|
+ <summary>
|
|
|
+ Tokenizes the values in the input <see cref="T:System.ReadOnlySpan`1"/> instance using a specified separator.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ ReadOnlySpan<char> text = "Hello, world!";
|
|
|
+
|
|
|
+ foreach (var token in text.Tokenize(','))
|
|
|
+ {
|
|
|
+ // Access the tokens here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the <see cref="T:System.ReadOnlySpan`1"/> to tokenize.</typeparam>
|
|
|
+ <param name="span">The source <see cref="T:System.ReadOnlySpan`1"/> to tokenize.</param>
|
|
|
+ <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
|
|
|
+ <returns>A wrapper type that will handle the tokenization for <paramref name="span"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input <see cref="T:System.ReadOnlySpan`1"/> instance using the Djb2 algorithm.
|
|
|
+ It was designed by <see href="https://en.wikipedia.org/wiki/Daniel_J._Bernstein">Daniel J. Bernstein</see> and is a
|
|
|
+ <see href="https://en.wikipedia.org/wiki/List_of_hash_functions#Non-cryptographic_hash_functions">non-cryptographic has function</see>.
|
|
|
+ The main advantages of this algorithm are a good distribution of the resulting hash codes, which results in a relatively low
|
|
|
+ number of collisions, while at the same time being particularly fast to process, making it suitable for quickly hashing
|
|
|
+ even long sequences of values. For the reference implementation, see: <see href="http://www.cse.yorku.ca/~oz/hash.html"/>.
|
|
|
+ For details on the used constants, see the details provided in this StackOverflow answer (as well as the accepted one):
|
|
|
+ <see href="https://stackoverflow.com/questions/10696223/reason-for-5381-number-in-djb-hash-function/13809282#13809282"/>.
|
|
|
+ Additionally, a comparison between some common hashing algorithms can be found in the reply to this StackExchange question:
|
|
|
+ <see href="https://softwareengineering.stackexchange.com/questions/49550/which-hashing-algorithm-is-best-for-uniqueness-and-speed"/>.
|
|
|
+ Note that the exact implementation is slightly different in this method when it is not called on a sequence of <see cref="T:System.Byte"/>
|
|
|
+ values: in this case the <see cref="M:System.Object.GetHashCode"/> method will be invoked for each <typeparamref name="T"/> value in
|
|
|
+ the provided <see cref="T:System.ReadOnlySpan`1"/> instance, and then those values will be combined using the Djb2 algorithm.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <returns>The Djb2 value for the input <see cref="T:System.ReadOnlySpan`1"/> instance.</returns>
|
|
|
+ <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.CopyTo``1(System.ReadOnlySpan{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of a given <see cref="T:System.ReadOnlySpan`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> is shorter than the source <see cref="T:System.ReadOnlySpan`1"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.TryCopyTo``1(System.ReadOnlySpan{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the contents of a given <see cref="T:System.ReadOnlySpan`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.ReadOnlySpan`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance.</param>
|
|
|
+ <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.SpanExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Span`1"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.DangerousGetReference``1(System.Span{``0})">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given <see cref="T:System.Span`1"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <returns>A reference to the first element within <paramref name="span"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.DangerousGetReferenceAt``1(System.Span{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified index within a given <see cref="T:System.Span`1"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.DangerousGetReferenceAt``1(System.Span{``0},System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified index within a given <see cref="T:System.Span`1"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of elements in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="span"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="span"/> at the index specified by <paramref name="i"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.AsSpan2D``1(System.Span{``0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="span"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.AsSpan2D``1(System.Span{``0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance wrapping the underlying data for the given <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="span"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <returns>The resulting <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="span"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.AsBytes``1(System.Span{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.Span`1"/> of one primitive type <typeparamref name="T"/> to <see cref="T:System.Span`1"/> of bytes.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type if items in the source <see cref="T:System.Span`1"/>.</typeparam>
|
|
|
+ <param name="span">The source slice, of type <typeparamref name="T"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.Span`1"/> of bytes.</returns>
|
|
|
+ <exception cref="T:System.OverflowException">
|
|
|
+ Thrown if the <see cref="P:System.Span`1.Length"/> property of the new <see cref="T:System.Span`1"/> would exceed <see cref="F:System.Int32.MaxValue"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Cast``2(System.Span{``0})">
|
|
|
+ <summary>
|
|
|
+ Casts a <see cref="T:System.Span`1"/> of one primitive type <typeparamref name="TFrom"/> to another primitive type <typeparamref name="TTo"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The type of items in the source <see cref="T:System.Span`1"/>.</typeparam>
|
|
|
+ <typeparam name="TTo">The type of items in the destination <see cref="T:System.Span`1"/>.</typeparam>
|
|
|
+ <param name="span">The source slice, of type <typeparamref name="TFrom"/>.</param>
|
|
|
+ <returns>A <see cref="T:System.Span`1"/> of type <typeparamref name="TTo"/></returns>
|
|
|
+ <remarks>
|
|
|
+ Supported only for platforms that support misaligned memory access or when the memory block is aligned by other means.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.IndexOf``1(System.Span{``0},``0@)">
|
|
|
+ <summary>
|
|
|
+ Gets the index of an element of a given <see cref="T:System.Span`1"/> from its reference.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type if items in the input <see cref="T:System.Span`1"/>.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> to calculate the index for.</param>
|
|
|
+ <param name="value">The reference to the target item to get the index for.</param>
|
|
|
+ <returns>The index of <paramref name="value"/> within <paramref name="span"/>, or <c>-1</c>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Count``1(System.Span{``0},``0)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given value into a target <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance to read.</param>
|
|
|
+ <param name="value">The <typeparamref name="T"/> value to look for.</param>
|
|
|
+ <returns>The number of occurrences of <paramref name="value"/> in <paramref name="span"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Enumerate``1(System.Span{``0})">
|
|
|
+ <summary>
|
|
|
+ Enumerates the items in the input <see cref="T:System.Span`1"/> instance, as pairs of reference/index values.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ Span<int> numbers = new[] { 1, 2, 3, 4, 5, 6, 7 };
|
|
|
+
|
|
|
+ foreach (var item in numbers.Enumerate())
|
|
|
+ {
|
|
|
+ // Access the index and value of each item here...
|
|
|
+ int index = item.Index;
|
|
|
+ ref int value = ref item.Value;
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to enumerate.</typeparam>
|
|
|
+ <param name="span">The source <see cref="T:System.Span`1"/> to enumerate.</param>
|
|
|
+ <returns>A wrapper type that will handle the reference/index enumeration for <paramref name="span"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.Tokenize``1(System.Span{``0},``0)">
|
|
|
+ <summary>
|
|
|
+ Tokenizes the values in the input <see cref="T:System.Span`1"/> instance using a specified separator.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ Span<char> text = "Hello, world!".ToCharArray();
|
|
|
+
|
|
|
+ foreach (var token in text.Tokenize(','))
|
|
|
+ {
|
|
|
+ // Access the tokens here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the <see cref="T:System.Span`1"/> to tokenize.</typeparam>
|
|
|
+ <param name="span">The source <see cref="T:System.Span`1"/> to tokenize.</param>
|
|
|
+ <param name="separator">The separator <typeparamref name="T"/> item to use.</param>
|
|
|
+ <returns>A wrapper type that will handle the tokenization for <paramref name="span"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.SpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.GetDjb2HashCode``1(System.Span{``0})">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input <see cref="T:System.Span`1"/> instance using the Djb2 algorithm.
|
|
|
+ For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <returns>The Djb2 value for the input <see cref="T:System.Span`1"/> instance.</returns>
|
|
|
+ <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.CopyTo``1(System.Span{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of a given <see cref="T:System.Span`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> is shorter than the source <see cref="T:System.Span`1"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpanExtensions.TryCopyTo``1(System.Span{``0},CommunityToolkit.HighPerformance.Enumerables.RefEnumerable{``0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the contents of a given <see cref="T:System.Span`1"/> into destination <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the input <see cref="T:System.Span`1"/> instance.</typeparam>
|
|
|
+ <param name="span">The input <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <param name="destination">The <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> instance to copy items into.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.SpinLockExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.Threading.SpinLock"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpinLockExtensions.Enter(System.Threading.SpinLock*)">
|
|
|
+ <summary>
|
|
|
+ Enters a specified <see cref="T:System.Threading.SpinLock"/> instance and returns a wrapper to use to release the lock.
|
|
|
+ This extension should be used though a <see langword="using"/> block or statement:
|
|
|
+ <code>
|
|
|
+ SpinLock spinLock = new SpinLock();
|
|
|
+
|
|
|
+ using (SpinLockExtensions.Enter(&spinLock))
|
|
|
+ {
|
|
|
+ // Thread-safe code here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of releasing the SpinLock when the code goes out of that <see langword="using"/> scope.
|
|
|
+ </summary>
|
|
|
+ <param name="spinLock">A pointer to the target <see cref="T:System.Threading.SpinLock"/> to use</param>
|
|
|
+ <returns>A wrapper type that will release <paramref name="spinLock"/> when its <see cref="M:System.IDisposable.Dispose"/> method is called.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock"/> value shouldn't be used directly: use this extension in a <see langword="using"/> block or statement.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock">
|
|
|
+ <summary>
|
|
|
+ A <see langword="struct"/> that is used to enter and hold a <see cref="T:System.Threading.SpinLock"/> through a <see langword="using"/> block or statement.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.spinLock">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Threading.SpinLock"/>* pointer to the target <see cref="T:System.Threading.SpinLock"/> value to use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.lockTaken">
|
|
|
+ <summary>
|
|
|
+ A value indicating whether or not the lock is taken by this <see cref="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.#ctor(System.Threading.SpinLock*)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="spinLock">The target <see cref="T:System.Threading.SpinLock"/> to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.SpinLockExtensions.UnsafeLock.Dispose">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.IDisposable.Dispose"/> method and releases the current <see cref="T:System.Threading.SpinLock"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.StreamExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.IO.Stream"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.ReadAsync(System.IO.Stream,System.Memory{System.Byte},System.Threading.CancellationToken)">
|
|
|
+ <summary>
|
|
|
+ Asynchronously reads a sequence of bytes from a given <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="stream">The source <see cref="T:System.IO.Stream"/> to read data from.</param>
|
|
|
+ <param name="buffer">The destination <see cref="T:System.Memory`1"/> to write data to.</param>
|
|
|
+ <param name="cancellationToken">The optional <see cref="T:System.Threading.CancellationToken"/> for the operation.</param>
|
|
|
+ <returns>A <see cref="T:System.Threading.Tasks.ValueTask"/> representing the operation being performed.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.WriteAsync(System.IO.Stream,System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
|
|
|
+ <summary>
|
|
|
+ Asynchronously writes a sequence of bytes to a given <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="stream">The destination <see cref="T:System.IO.Stream"/> to write data to.</param>
|
|
|
+ <param name="buffer">The source <see cref="T:System.ReadOnlyMemory`1"/> to read data from.</param>
|
|
|
+ <param name="cancellationToken">The optional <see cref="T:System.Threading.CancellationToken"/> for the operation.</param>
|
|
|
+ <returns>A <see cref="T:System.Threading.Tasks.ValueTask"/> representing the operation being performed.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Read(System.IO.Stream,System.Span{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Reads a sequence of bytes from a given <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="stream">The source <see cref="T:System.IO.Stream"/> to read data from.</param>
|
|
|
+ <param name="buffer">The target <see cref="T:System.Span`1"/> to write data to.</param>
|
|
|
+ <returns>The number of bytes that have been read.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Write(System.IO.Stream,System.ReadOnlySpan{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Writes a sequence of bytes to a given <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="stream">The destination <see cref="T:System.IO.Stream"/> to write data to.</param>
|
|
|
+ <param name="buffer">The source <see cref="T:System.Span`1"/> to read data from.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Read``1(System.IO.Stream)">
|
|
|
+ <summary>
|
|
|
+ Reads a value of a specified type from a source <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to read.</typeparam>
|
|
|
+ <param name="stream">The source <see cref="T:System.IO.Stream"/> instance to read from.</param>
|
|
|
+ <returns>The <typeparamref name="T"/> value read from <paramref name="stream"/>.</returns>
|
|
|
+ <exception cref="T:System.IO.EndOfStreamException">Thrown if <paramref name="stream"/> reaches the end.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.Write``1(System.IO.Stream,``0@)">
|
|
|
+ <summary>
|
|
|
+ Writes a value of a specified type into a target <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to write.</typeparam>
|
|
|
+ <param name="stream">The target <see cref="T:System.IO.Stream"/> instance to write to.</param>
|
|
|
+ <param name="value">The input value to write to <paramref name="stream"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StreamExtensions.ThrowEndOfStreamException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.IO.EndOfStreamException"/> when <see cref="M:CommunityToolkit.HighPerformance.StreamExtensions.Read``1(System.IO.Stream)"/> fails.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.StringExtensions">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with the <see cref="T:System.String"/> type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StringExtensions.DangerousGetReference(System.String)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within a given <see cref="T:System.String"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The input <see cref="T:System.String"/> instance.</param>
|
|
|
+ <returns>A reference to the first element within <paramref name="text"/>, or the location it would have used, if <paramref name="text"/> is empty.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to perform checks in case the returned value is dereferenced.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StringExtensions.DangerousGetReferenceAt(System.String,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to an element at a specified index within a given <see cref="T:System.String"/>, with no bounds checks.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The input <see cref="T:System.String"/> instance.</param>
|
|
|
+ <param name="i">The index of the element to retrieve within <paramref name="text"/>.</param>
|
|
|
+ <returns>A reference to the element within <paramref name="text"/> at the index specified by <paramref name="i"/>.</returns>
|
|
|
+ <remarks>This method doesn't do any bounds checks, therefore it is responsibility of the caller to ensure the <paramref name="i"/> parameter is valid.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StringExtensions.Count(System.String,System.Char)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given character into a target <see cref="T:System.String"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The input <see cref="T:System.String"/> instance to read.</param>
|
|
|
+ <param name="c">The character to look for.</param>
|
|
|
+ <returns>The number of occurrences of <paramref name="c"/> in <paramref name="text"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StringExtensions.Enumerate(System.String)">
|
|
|
+ <summary>
|
|
|
+ Enumerates the items in the input <see cref="T:System.String"/> instance, as pairs of value/index values.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ string text = "Hello, world!";
|
|
|
+
|
|
|
+ foreach (var item in text.Enumerate())
|
|
|
+ {
|
|
|
+ // Access the index and value of each item here...
|
|
|
+ int index = item.Index;
|
|
|
+ char value = item.Value;
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The source <see cref="T:System.String"/> to enumerate.</param>
|
|
|
+ <returns>A wrapper type that will handle the value/index enumeration for <paramref name="text"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StringExtensions.Tokenize(System.String,System.Char)">
|
|
|
+ <summary>
|
|
|
+ Tokenizes the values in the input <see cref="T:System.String"/> instance using a specified separator.
|
|
|
+ This extension should be used directly within a <see langword="foreach"/> loop:
|
|
|
+ <code>
|
|
|
+ string text = "Hello, world!";
|
|
|
+
|
|
|
+ foreach (var token in text.Tokenize(','))
|
|
|
+ {
|
|
|
+ // Access the tokens here...
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The compiler will take care of properly setting up the <see langword="foreach"/> loop with the type returned from this method.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The source <see cref="T:System.String"/> to tokenize.</param>
|
|
|
+ <param name="separator">The separator character to use.</param>
|
|
|
+ <returns>A wrapper type that will handle the tokenization for <paramref name="text"/>.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlySpanTokenizer`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.StringExtensions.GetDjb2HashCode(System.String)">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input <see cref="T:System.String"/> instance using the Djb2 algorithm.
|
|
|
+ For more info, see the documentation for <see cref="M:CommunityToolkit.HighPerformance.ReadOnlySpanExtensions.GetDjb2HashCode``1(System.ReadOnlySpan{``0})"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The source <see cref="T:System.String"/> to enumerate.</param>
|
|
|
+ <returns>The Djb2 value for the input <see cref="T:System.String"/> instance.</returns>
|
|
|
+ <remarks>The Djb2 hash is fully deterministic and with no random components.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.BitHelper">
|
|
|
+ <summary>
|
|
|
+ Helpers to perform bit operations on numeric types.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given bit is set.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.UInt32"/> value.</param>
|
|
|
+ <param name="n">The position of the bit to check (in [0, 31] range).</param>
|
|
|
+ <returns>Whether or not the n-th bit is set.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't validate <paramref name="n"/> against the valid range.
|
|
|
+ If the parameter is not valid, the result will just be inconsistent.
|
|
|
+ Additionally, no conditional branches are used to retrieve the flag.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given bit is set in a given bitwise lookup table.
|
|
|
+ This method provides a branchless, register-based (with no memory accesses) way to
|
|
|
+ check whether a given value is valid, according to a precomputed lookup table.
|
|
|
+ It is similar in behavior to <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)"/>, with the main difference
|
|
|
+ being that this method will also validate the input <paramref name="x"/> parameter, and
|
|
|
+ will always return <see langword="false"/> if it falls outside of the expected interval.
|
|
|
+ Additionally, this method accepts a <paramref name="min"/> parameter, which is used to
|
|
|
+ decrement the input parameter <paramref name="x"/> to ensure that the range of accepted
|
|
|
+ values fits within the available 32 bits of the lookup table in use.
|
|
|
+ For more info on this optimization technique, see <see href="https://egorbo.com/llvm-range-checks.html"/>.
|
|
|
+ Here is how the code from the link above would be implemented using this method:
|
|
|
+ <code>
|
|
|
+ bool IsReservedCharacter(char c)
|
|
|
+ {
|
|
|
+ return BitHelper.HasLookupFlag(314575237u, c, 36);
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ The resulted assembly is virtually identical, with the added optimization that the one
|
|
|
+ produced by <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt32,System.Int32,System.Int32)"/> has no conditional branches at all.
|
|
|
+ </summary>
|
|
|
+ <param name="table">The input lookup table to use.</param>
|
|
|
+ <param name="x">The input value to check.</param>
|
|
|
+ <param name="min">The minimum accepted value for <paramref name="x"/> (defaults to 0).</param>
|
|
|
+ <returns>Whether or not the corresponding flag for <paramref name="x"/> is set in <paramref name="table"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ For best results, as shown in the sample code, both <paramref name="table"/> and <paramref name="min"/>
|
|
|
+ should be compile-time constants, so that the JIT compiler will be able to produce more efficient code.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasZeroByte(System.UInt32)">
|
|
|
+ <summary>
|
|
|
+ Checks whether the given value has any bytes that are set to 0.
|
|
|
+ That is, given a <see cref="T:System.UInt32"/> value, which has a total of 4 bytes,
|
|
|
+ it checks whether any of those have all the bits set to 0.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input value to check.</param>
|
|
|
+ <returns>Whether <paramref name="value"/> has any bytes set to 0.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method contains no branches.
|
|
|
+ For more background on this subject, see <see href="https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord"/>.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasZeroByte(System.UInt64)">
|
|
|
+ <summary>
|
|
|
+ Checks whether the given value has any bytes that are set to 0.
|
|
|
+ This method mirrors <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasZeroByte(System.UInt32)"/>, but with <see cref="T:System.UInt64"/> values.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input value to check.</param>
|
|
|
+ <returns>Whether <paramref name="value"/> has any bytes set to 0.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasByteEqualTo(System.UInt32,System.Byte)">
|
|
|
+ <summary>
|
|
|
+ Checks whether a byte in the input <see cref="T:System.UInt32"/> value matches a target value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input value to check.</param>
|
|
|
+ <param name="target">The target byte to look for.</param>
|
|
|
+ <returns>Whether <paramref name="value"/> has any bytes set to <paramref name="target"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method contains no branches.
|
|
|
+ For more info, see <see href="https://graphics.stanford.edu/~seander/bithacks.html#ZeroInWord"/>.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasByteEqualTo(System.UInt64,System.Byte)">
|
|
|
+ <summary>
|
|
|
+ Checks whether a byte in the input <see cref="T:System.UInt32"/> value matches a target value.
|
|
|
+ This method mirrors <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasByteEqualTo(System.UInt32,System.Byte)"/>, but with <see cref="T:System.UInt64"/> values.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input value to check.</param>
|
|
|
+ <param name="target">The target byte to look for.</param>
|
|
|
+ <returns>Whether <paramref name="value"/> has any bytes set to <paramref name="target"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt32@,System.Int32,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit to a specified value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The target <see cref="T:System.UInt32"/> value.</param>
|
|
|
+ <param name="n">The position of the bit to set or clear (in [0, 31] range).</param>
|
|
|
+ <param name="flag">The value to assign to the target bit.</param>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt32,System.Int32,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit to a specified value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.UInt32"/> value.</param>
|
|
|
+ <param name="n">The position of the bit to set or clear (in [0, 31] range).</param>
|
|
|
+ <param name="flag">The value to assign to the target bit.</param>
|
|
|
+ <returns>An <see cref="T:System.UInt32"/> value equal to <paramref name="value"/> except for the <paramref name="n"/>-th bit.</returns>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt32,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt32,System.Byte,System.Byte)">
|
|
|
+ <summary>
|
|
|
+ Extracts a bit field range from a given value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.UInt32"/> value.</param>
|
|
|
+ <param name="start">The initial index of the range to extract (in [0, 31] range).</param>
|
|
|
+ <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
|
|
|
+ <returns>The value of the extracted range within <paramref name="value"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't validate <paramref name="start"/> and <paramref name="length"/>.
|
|
|
+ If either parameter is not valid, the result will just be inconsistent. The method
|
|
|
+ should not be used to set all the bits at once, and it is not guaranteed to work in
|
|
|
+ that case, which would just be equivalent to assigning the <see cref="T:System.UInt32"/> value.
|
|
|
+ Additionally, no conditional branches are used to retrieve the range.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt32@,System.Byte,System.Byte,System.UInt32)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit field range within a target value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The target <see cref="T:System.UInt32"/> value.</param>
|
|
|
+ <param name="start">The initial index of the range to extract (in [0, 31] range).</param>
|
|
|
+ <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
|
|
|
+ <param name="flags">The input flags to insert in the target range.</param>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt32,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt32,System.Byte,System.Byte,System.UInt32)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit field range within a target value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The initial <see cref="T:System.UInt32"/> value.</param>
|
|
|
+ <param name="start">The initial index of the range to extract (in [0, 31] range).</param>
|
|
|
+ <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
|
|
|
+ <param name="flags">The input flags to insert in the target range.</param>
|
|
|
+ <returns>The updated bit field value after setting the specified range.</returns>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt32,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt64,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given bit is set.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.UInt64"/> value.</param>
|
|
|
+ <param name="n">The position of the bit to check (in [0, 63] range).</param>
|
|
|
+ <returns>Whether or not the n-th bit is set.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't validate <paramref name="n"/> against the valid range.
|
|
|
+ If the parameter is not valid, the result will just be inconsistent.
|
|
|
+ Additionally, no conditional branches are used to retrieve the flag.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt64,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Checks whether or not a given bit is set in a given bitwise lookup table.
|
|
|
+ For more info, check the XML docs of the <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasLookupFlag(System.UInt32,System.Int32,System.Int32)"/> overload.
|
|
|
+ </summary>
|
|
|
+ <param name="table">The input lookup table to use.</param>
|
|
|
+ <param name="x">The input value to check.</param>
|
|
|
+ <param name="min">The minimum accepted value for <paramref name="x"/> (defaults to 0).</param>
|
|
|
+ <returns>Whether or not the corresponding flag for <paramref name="x"/> is set in <paramref name="table"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ For best results, as shown in the sample code, both <paramref name="table"/> and <paramref name="min"/>
|
|
|
+ should be compile-time constants, so that the JIT compiler will be able to produce more efficient code.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt64@,System.Int32,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit to a specified value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The target <see cref="T:System.UInt64"/> value.</param>
|
|
|
+ <param name="n">The position of the bit to set or clear (in [0, 63] range).</param>
|
|
|
+ <param name="flag">The value to assign to the target bit.</param>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt64,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetFlag(System.UInt64,System.Int32,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit to a specified value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.UInt64"/> value.</param>
|
|
|
+ <param name="n">The position of the bit to set or clear (in [0, 63] range).</param>
|
|
|
+ <param name="flag">The value to assign to the target bit.</param>
|
|
|
+ <returns>An <see cref="T:System.UInt64"/> value equal to <paramref name="value"/> except for the <paramref name="n"/>-th bit.</returns>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.HasFlag(System.UInt64,System.Int32)"/>, this method doesn't validate <paramref name="n"/>
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt64,System.Byte,System.Byte)">
|
|
|
+ <summary>
|
|
|
+ Extracts a bit field range from a given value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The input <see cref="T:System.UInt64"/> value.</param>
|
|
|
+ <param name="start">The initial index of the range to extract (in [0, 63] range).</param>
|
|
|
+ <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
|
|
|
+ <returns>The value of the extracted range within <paramref name="value"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method doesn't validate <paramref name="start"/> and <paramref name="length"/>.
|
|
|
+ If either parameter is not valid, the result will just be inconsistent. The method
|
|
|
+ should not be used to set all the bits at once, and it is not guaranteed to work in
|
|
|
+ that case, which would just be equivalent to assigning the <see cref="T:System.UInt64"/> value.
|
|
|
+ Additionally, no conditional branches are used to retrieve the range.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt64@,System.Byte,System.Byte,System.UInt64)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit field range within a target value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The target <see cref="T:System.UInt64"/> value.</param>
|
|
|
+ <param name="start">The initial index of the range to extract (in [0, 63] range).</param>
|
|
|
+ <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
|
|
|
+ <param name="flags">The input flags to insert in the target range.</param>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt64,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.SetRange(System.UInt64,System.Byte,System.Byte,System.UInt64)">
|
|
|
+ <summary>
|
|
|
+ Sets a bit field range within a target value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The initial <see cref="T:System.UInt64"/> value.</param>
|
|
|
+ <param name="start">The initial index of the range to extract (in [0, 63] range).</param>
|
|
|
+ <param name="length">The length of the range to extract (depends on <paramref name="start"/>).</param>
|
|
|
+ <param name="flags">The input flags to insert in the target range.</param>
|
|
|
+ <returns>The updated bit field value after setting the specified range.</returns>
|
|
|
+ <remarks>
|
|
|
+ Just like <see cref="M:CommunityToolkit.HighPerformance.Helpers.BitHelper.ExtractRange(System.UInt64,System.Byte,System.Byte)"/>, this method doesn't validate the parameters
|
|
|
+ and does not contain branching instructions, so it's well suited for use in tight loops as well.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.HashCode`1">
|
|
|
+ <summary>
|
|
|
+ Combines the hash code of sequences of <typeparamref name="T"/> values into a single hash code.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values to hash.</typeparam>
|
|
|
+ <remarks>
|
|
|
+ The hash codes returned by the <see cref="M:CommunityToolkit.HighPerformance.Helpers.HashCode`1.Combine(System.ReadOnlySpan{`0})"/> method are only guaranteed to be repeatable for
|
|
|
+ the current execution session, just like with the available <see cref="T:System.HashCode"/> APIs.In other words,
|
|
|
+ hashing the same <see cref="T:System.ReadOnlySpan`1"/> collection multiple times in the same process will always
|
|
|
+ result in the same hash code, while the same collection being hashed again from another process
|
|
|
+ (or another instance of the same process) is not guaranteed to result in the same final value.
|
|
|
+ For more info, see <see href="https://learn.microsoft.com/en-us/dotnet/api/system.object.gethashcode#remarks"/>.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.HashCode`1.Combine(System.ReadOnlySpan{`0})">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input <see cref="T:System.ReadOnlySpan`1"/> instance using the xxHash32 algorithm.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance</param>
|
|
|
+ <returns>The xxHash32 value for the input <see cref="T:System.ReadOnlySpan`1"/> instance</returns>
|
|
|
+ <remarks>The xxHash32 is only guaranteed to be deterministic within the scope of a single app execution</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.HashCode`1.CombineValues(System.ReadOnlySpan{`0})">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from the input <see cref="T:System.ReadOnlySpan`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:System.ReadOnlySpan`1"/> instance</param>
|
|
|
+ <returns>The hash code for the input <see cref="T:System.ReadOnlySpan`1"/> instance</returns>
|
|
|
+ <remarks>The returned hash code is not processed through <see cref="T:System.HashCode"/> APIs.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.BitOperations">
|
|
|
+ <summary>
|
|
|
+ Utility methods for intrinsic bit-twiddling operations. The methods use hardware intrinsics
|
|
|
+ when available on the underlying platform, otherwise they use optimized software fallbacks.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.BitOperations.RoundUpToPowerOf2(System.UInt32)">
|
|
|
+ <summary>
|
|
|
+ Round the given integral value up to a power of 2.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The value.</param>
|
|
|
+ <returns>
|
|
|
+ The smallest power of 2 which is greater than or equal to <paramref name="value"/>.
|
|
|
+ If <paramref name="value"/> is 0 or the result overflows, returns 0.
|
|
|
+ </returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper">
|
|
|
+ <summary>
|
|
|
+ Helpers to process sequences of values by reference with a given step.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.Clear``1(``0@,System.IntPtr,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Clears a target memory area.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values to clear.</typeparam>
|
|
|
+ <param name="r0">A <typeparamref name="T"/> reference to the start of the memory area.</param>
|
|
|
+ <param name="length">The number of items in the memory area.</param>
|
|
|
+ <param name="step">The number of items between each consecutive target value.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyTo``1(``0@,``0@,System.IntPtr,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Copies a sequence of discontiguous items from one memory area to another.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to copy.</typeparam>
|
|
|
+ <param name="sourceRef">The source reference to copy from.</param>
|
|
|
+ <param name="destinationRef">The target reference to copy to.</param>
|
|
|
+ <param name="length">The total number of items to copy.</param>
|
|
|
+ <param name="sourceStep">The step between consecutive items in the memory area pointed to by <paramref name="sourceRef"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyTo``1(``0@,``0@,System.IntPtr,System.IntPtr,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Copies a sequence of discontiguous items from one memory area to another.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to copy.</typeparam>
|
|
|
+ <param name="sourceRef">The source reference to copy from.</param>
|
|
|
+ <param name="destinationRef">The target reference to copy to.</param>
|
|
|
+ <param name="length">The total number of items to copy.</param>
|
|
|
+ <param name="sourceStep">The step between consecutive items in the memory area pointed to by <paramref name="sourceRef"/>.</param>
|
|
|
+ <param name="destinationStep">The step between consecutive items in the memory area pointed to by <paramref name="destinationRef"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyFrom``1(``0@,``0@,System.IntPtr,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Copies a sequence of discontiguous items from one memory area to another. This mirrors
|
|
|
+ <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.CopyTo``1(``0@,``0@,System.IntPtr,System.IntPtr)"/>, but <paramref name="sourceStep"/> refers to <paramref name="destinationRef"/> instead.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to copy.</typeparam>
|
|
|
+ <param name="sourceRef">The source reference to copy from.</param>
|
|
|
+ <param name="destinationRef">The target reference to copy to.</param>
|
|
|
+ <param name="length">The total number of items to copy.</param>
|
|
|
+ <param name="sourceStep">The step between consecutive items in the memory area pointed to by <paramref name="sourceRef"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RefEnumerableHelper.Fill``1(``0@,System.IntPtr,System.IntPtr,``0)">
|
|
|
+ <summary>
|
|
|
+ Fills a target memory area.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values to fill.</typeparam>
|
|
|
+ <param name="r0">A <typeparamref name="T"/> reference to the start of the memory area.</param>
|
|
|
+ <param name="length">The number of items in the memory area.</param>
|
|
|
+ <param name="step">The number of items between each consecutive target value.</param>
|
|
|
+ <param name="value">The value to assign to every item in the target memory area.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers">
|
|
|
+ <summary>
|
|
|
+ A helper class that with utility methods for dealing with references, and other low-level details.
|
|
|
+ It also contains some APIs that act as polyfills for .NET Standard 2.0 and below.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.ConvertLength``2(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Converts a length of items from one size to another (rounding towards zero).
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TFrom">The source type of items.</typeparam>
|
|
|
+ <typeparam name="TTo">The target type of items.</typeparam>
|
|
|
+ <param name="length">The input length to convert.</param>
|
|
|
+ <returns>The converted length for the specified argument and types.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArrayNativeLength``1(``0[])">
|
|
|
+ <summary>
|
|
|
+ Gets the length of a given array as a native integer.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values in the array.</typeparam>
|
|
|
+ <param name="array">The input <see cref="T:System.Array"/> instance.</param>
|
|
|
+ <returns>The total length of <paramref name="array"/> as a native integer.</returns>
|
|
|
+ <remarks>
|
|
|
+ This method is needed because this expression is not inlined correctly if the target array
|
|
|
+ is only visible as a non-generic <see cref="T:System.Array"/> instance, because the C# compiler will
|
|
|
+ not be able to emit the <see langword="ldlen"/> opcode instead of calling the right method.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArrayNativeLength(System.Array)">
|
|
|
+ <summary>
|
|
|
+ Gets the length of a given array as a native integer.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The input <see cref="T:System.Array"/> instance.</param>
|
|
|
+ <returns>The total length of <paramref name="array"/> as a native integer.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArrayDataByteOffset``1">
|
|
|
+ <summary>
|
|
|
+ Gets the byte offset to the first <typeparamref name="T"/> element in a SZ array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values in the array.</typeparam>
|
|
|
+ <returns>The byte offset to the first <typeparamref name="T"/> element in a SZ array.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArray2DDataByteOffset``1">
|
|
|
+ <summary>
|
|
|
+ Gets the byte offset to the first <typeparamref name="T"/> element in a 2D array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values in the array.</typeparam>
|
|
|
+ <returns>The byte offset to the first <typeparamref name="T"/> element in a 2D array.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.GetArray3DDataByteOffset``1">
|
|
|
+ <summary>
|
|
|
+ Gets the byte offset to the first <typeparamref name="T"/> element in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of values in the array.</typeparam>
|
|
|
+ <returns>The byte offset to the first <typeparamref name="T"/> element in a 3D array.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1">
|
|
|
+ <summary>
|
|
|
+ A private generic class to preload type info for arbitrary runtime types.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type to load info for.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.ArrayDataByteOffset">
|
|
|
+ <summary>
|
|
|
+ The byte offset to the first <typeparamref name="T"/> element in a SZ array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array2DDataByteOffset">
|
|
|
+ <summary>
|
|
|
+ The byte offset to the first <typeparamref name="T"/> element in a 2D array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array3DDataByteOffset">
|
|
|
+ <summary>
|
|
|
+ The byte offset to the first <typeparamref name="T"/> element in a 3D array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.MeasureArrayDataByteOffset">
|
|
|
+ <summary>
|
|
|
+ Computes the value for <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.ArrayDataByteOffset"/>.
|
|
|
+ </summary>
|
|
|
+ <returns>The value of <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.ArrayDataByteOffset"/> for the current runtime.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.MeasureArray2DDataByteOffset">
|
|
|
+ <summary>
|
|
|
+ Computes the value for <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array2DDataByteOffset"/>.
|
|
|
+ </summary>
|
|
|
+ <returns>The value of <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array2DDataByteOffset"/> for the current runtime.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.MeasureArray3DDataByteOffset">
|
|
|
+ <summary>
|
|
|
+ Computes the value for <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array3DDataByteOffset"/>.
|
|
|
+ </summary>
|
|
|
+ <returns>The value of <see cref="F:CommunityToolkit.HighPerformance.Helpers.Internals.RuntimeHelpers.TypeInfo`1.Array3DDataByteOffset"/> for the current runtime.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper">
|
|
|
+ <summary>
|
|
|
+ Helpers to process sequences of values by reference.
|
|
|
+ </summary>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.Count``1(``0@,System.IntPtr,``0)">
|
|
|
+ <summary>
|
|
|
+ Counts the number of occurrences of a given value into a target search space.
|
|
|
+ </summary>
|
|
|
+ <param name="r0">A <typeparamref name="T"/> reference to the start of the search space.</param>
|
|
|
+ <param name="length">The number of items in the search space.</param>
|
|
|
+ <param name="value">The <typeparamref name="T"/> value to look for.</param>
|
|
|
+ <typeparam name="T">The type of value to look for.</typeparam>
|
|
|
+ <returns>The number of occurrences of <paramref name="value"/> in the search space</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.CountSequential``1(``0@,System.IntPtr,``0)">
|
|
|
+ <summary>
|
|
|
+ Implements <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.Count``1(``0@,System.IntPtr,``0)"/> with a sequential search.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.CountSimd``1(``0@,System.IntPtr,``0)">
|
|
|
+ <summary>
|
|
|
+ Implements <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.Count``1(``0@,System.IntPtr,``0)"/> with a vectorized search.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetUpperBound``1">
|
|
|
+ <summary>
|
|
|
+ Gets the upper bound for partial sums with a given <typeparamref name="T"/> parameter.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type argument currently in use.</typeparam>
|
|
|
+ <returns>The native <see cref="T:System.Int32"/> value representing the upper bound.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.CastToNativeInt``1(``0)">
|
|
|
+ <summary>
|
|
|
+ Casts a value of a given type to a native <see cref="T:System.Int32"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The input type to cast.</typeparam>
|
|
|
+ <param name="value">The input <typeparamref name="T"/> value to cast to native <see cref="T:System.Int32"/>.</param>
|
|
|
+ <returns>The native <see cref="T:System.Int32"/> cast of <paramref name="value"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2HashCode``1(``0@,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Calculates the djb2 hash for the target sequence of items of a given type.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to hash.</typeparam>
|
|
|
+ <param name="r0">The reference to the target memory area to hash.</param>
|
|
|
+ <param name="length">The number of items to hash.</param>
|
|
|
+ <returns>The Djb2 value for the input sequence of items.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2LikeByteHash(System.Byte@,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Gets a content hash from a given memory area.
|
|
|
+ </summary>
|
|
|
+ <param name="r0">A <see cref="T:System.Byte"/> reference to the start of the memory area.</param>
|
|
|
+ <param name="length">The size in bytes of the memory area.</param>
|
|
|
+ <returns>The hash code for the contents of the source memory area.</returns>
|
|
|
+ <remarks>
|
|
|
+ While this method is similar to <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2HashCode``1(``0@,System.IntPtr)"/> and can in some cases
|
|
|
+ produce the same output for a given memory area, it is not guaranteed to always be that way.
|
|
|
+ This is because this method can use SIMD instructions if possible, which can cause a computed
|
|
|
+ hash to differ for the same data, if processed on different machines with different CPU features.
|
|
|
+ The advantage of this method is that when SIMD instructions are available, it performs much
|
|
|
+ faster than <see cref="M:CommunityToolkit.HighPerformance.Helpers.Internals.SpanHelper.GetDjb2HashCode``1(``0@,System.IntPtr)"/>, as it can parallelize much of the workload.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal">
|
|
|
+ <summary>
|
|
|
+ Helpers for working with <see cref="T:System.Object"/> instances.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.DangerousGetObjectDataByteOffset``1(System.Object,``0@)">
|
|
|
+ <summary>
|
|
|
+ Calculates the byte offset to a specific field within a given <see cref="T:System.Object"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of field being referenced.</typeparam>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> hosting the target field.</param>
|
|
|
+ <param name="data">A reference to a target field of type <typeparamref name="T"/> within <paramref name="obj"/>.</param>
|
|
|
+ <returns>
|
|
|
+ The <see cref="T:System.IntPtr"/> value representing the offset to the target field from the start of the object data
|
|
|
+ for the parameter <paramref name="obj"/>. The offset is in relation to the first usable byte after the method table.
|
|
|
+ </returns>
|
|
|
+ <remarks>The input parameters are not validated, and it's responsibility of the caller to ensure that
|
|
|
+ the <paramref name="data"/> reference is actually pointing to a memory location within <paramref name="obj"/>.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.DangerousGetObjectDataReferenceAt``1(System.Object,System.IntPtr)">
|
|
|
+ <summary>
|
|
|
+ Gets a <typeparamref name="T"/> reference to data within a given <see cref="T:System.Object"/> at a specified offset.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of reference to retrieve.</typeparam>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> hosting the target field.</param>
|
|
|
+ <param name="offset">The input byte offset for the <typeparamref name="T"/> reference to retrieve.</param>
|
|
|
+ <returns>A <typeparamref name="T"/> reference at a specified offset within <paramref name="obj"/>.</returns>
|
|
|
+ <remarks>
|
|
|
+ None of the input arguments is validated, and it is responsibility of the caller to ensure they are valid.
|
|
|
+ In particular, using an invalid offset might cause the retrieved reference to be misaligned with the
|
|
|
+ desired data, which would break the type system. Or, if the offset causes the retrieved reference to point
|
|
|
+ to a memory location outside of the input <see cref="T:System.Object"/> instance, that might lead to runtime crashes.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.TryUnbox``1(System.Object,``0@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a boxed <typeparamref name="T"/> value from an input <see cref="T:System.Object"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to try to unbox.</typeparam>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> instance to check.</param>
|
|
|
+ <param name="value">The resulting <typeparamref name="T"/> value, if <paramref name="obj"/> was in fact a boxed <typeparamref name="T"/> value.</param>
|
|
|
+ <returns><see langword="true"/> if a <typeparamref name="T"/> value was retrieved correctly, <see langword="false"/> otherwise.</returns>
|
|
|
+ <remarks>
|
|
|
+ This extension behaves just like the following method:
|
|
|
+ <code>
|
|
|
+ public static bool TryUnbox<T>(object obj, out T value)
|
|
|
+ {
|
|
|
+ if (obj is T)
|
|
|
+ {
|
|
|
+ value = (T)obj;
|
|
|
+
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ value = default;
|
|
|
+
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ </code>
|
|
|
+ But in a more efficient way, and with the ability to also assign the unboxed value
|
|
|
+ directly on an existing T variable, which is not possible with the code above.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ObjectMarshal.DangerousUnbox``1(System.Object)">
|
|
|
+ <summary>
|
|
|
+ Unboxes a <typeparamref name="T"/> value from an input <see cref="T:System.Object"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of value to unbox.</typeparam>
|
|
|
+ <param name="obj">The input <see cref="T:System.Object"/> instance, representing a boxed <typeparamref name="T"/> value.</param>
|
|
|
+ <returns>The <typeparamref name="T"/> value boxed in <paramref name="obj"/>.</returns>
|
|
|
+ <exception cref="T:System.InvalidCastException">Thrown when <paramref name="obj"/> is not of type <typeparamref name="T"/>.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.ParallelHelper">
|
|
|
+ <summary>
|
|
|
+ Helpers to work with parallel code in a highly optimized manner.
|
|
|
+ </summary>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="range">The iteration range.</param>
|
|
|
+ <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="range">The iteration range.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range,``0@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="range">The iteration range.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Range,``0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="range">The iteration range.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ <remarks>None of the bounds of <paramref name="range"/> can start from an end.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="start">The starting iteration index.</param>
|
|
|
+ <param name="end">The final iteration index (exclusive).</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="start">The starting iteration index.</param>
|
|
|
+ <param name="end">The final iteration index (exclusive).</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32,``0@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="start">The starting iteration index.</param>
|
|
|
+ <param name="end">The final iteration index (exclusive).</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For``1(System.Int32,System.Int32,``0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction"/>) to invoke for each iteration index.</typeparam>
|
|
|
+ <param name="start">The starting iteration index.</param>
|
|
|
+ <param name="end">The final iteration index (exclusive).</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ActionInvoker`1.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Processes the batch of actions at a specified index
|
|
|
+ </summary>
|
|
|
+ <param name="i">The index of the batch to process</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
|
|
|
+ <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
|
|
|
+ <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range,``0@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
|
|
|
+ <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Range,System.Range,``0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="i">The <see cref="T:System.Range"/> value indicating the iteration range for the outer loop.</param>
|
|
|
+ <param name="j">The <see cref="T:System.Range"/> value indicating the iteration range for the inner loop.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle,``0@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Drawing.Rectangle,``0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="area">The <see cref="T:System.Drawing.Rectangle"/> value indicating the 2D iteration area to use.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="top">The starting iteration value for the outer loop.</param>
|
|
|
+ <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
|
|
|
+ <param name="left">The starting iteration value for the inner loop.</param>
|
|
|
+ <param name="right">The final iteration value for the inner loop (exclusive).</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="top">The starting iteration value for the outer loop.</param>
|
|
|
+ <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
|
|
|
+ <param name="left">The starting iteration value for the inner loop.</param>
|
|
|
+ <param name="right">The final iteration value for the inner loop (exclusive).</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32,``0@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="top">The starting iteration value for the outer loop.</param>
|
|
|
+ <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
|
|
|
+ <param name="left">The starting iteration value for the inner loop.</param>
|
|
|
+ <param name="right">The final iteration value for the inner loop (exclusive).</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.For2D``1(System.Int32,System.Int32,System.Int32,System.Int32,``0@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IAction2D"/>) to invoke for each pair of iteration indices.</typeparam>
|
|
|
+ <param name="top">The starting iteration value for the outer loop.</param>
|
|
|
+ <param name="bottom">The final iteration value for the outer loop (exclusive).</param>
|
|
|
+ <param name="left">The starting iteration value for the inner loop.</param>
|
|
|
+ <param name="right">The final iteration value for the inner loop (exclusive).</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.Action2DInvoker`1.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Processes the batch of actions at a specified index
|
|
|
+ </summary>
|
|
|
+ <param name="i">The index of the batch to process</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0})">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0},``1@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.ReadOnlyMemory{``0},``1@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.InActionInvoker`2.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Processes the batch of actions at a specified index
|
|
|
+ </summary>
|
|
|
+ <param name="i">The index of the batch to process</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0})">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0},``1@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{``0},``1@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.InActionInvokerWithReadOnlyMemory2D`2.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Processes the batch of actions at a specified index
|
|
|
+ </summary>
|
|
|
+ <param name="i">The index of the batch to process</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0})">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0},``1@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(System.Memory{``0},``1@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:System.Memory`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.RefActionInvoker`2.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Processes the batch of actions at a specified index
|
|
|
+ </summary>
|
|
|
+ <param name="i">The index of the batch to process</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0})">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0},System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0},``1@)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ForEach``2(CommunityToolkit.HighPerformance.Memory2D{``0},``1@,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes a specified action in an optimized parallel loop over the input data.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TItem">The type of items to iterate over.</typeparam>
|
|
|
+ <typeparam name="TAction">The type of action (implementing <see cref="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1"/> of <typeparamref name="TItem"/>) to invoke over each item.</typeparam>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> representing the data to process.</param>
|
|
|
+ <param name="action">The <typeparamref name="TAction"/> instance representing the action to invoke.</param>
|
|
|
+ <param name="minimumActionsPerThread">
|
|
|
+ The minimum number of actions to run per individual thread. Set to 1 if all invocations
|
|
|
+ should be parallelized, or to a greater number if each individual invocation is fast
|
|
|
+ enough that it is more efficient to set a lower bound per each running thread.
|
|
|
+ </param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.RefActionInvokerWithReadOnlyMemory2D`2.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Processes the batch of actions at a specified index
|
|
|
+ </summary>
|
|
|
+ <param name="i">The index of the batch to process</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForInvalidMinimumActionsPerThread">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid parameter is specified for the minimum actions per thread.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForStartGreaterThanEnd">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid start parameter is specified for 1D loops.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentExceptionForRangeIndexFromEnd(System.String)">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when a range has an index starting from an end.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForTopGreaterThanBottom">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid top parameter is specified for 2D loops.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.ParallelHelper.ThrowArgumentOutOfRangeExceptionForLeftGreaterThanRight">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when an invalid left parameter is specified for 2D loops.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.IAction">
|
|
|
+ <summary>
|
|
|
+ A contract for actions being executed with an input index.
|
|
|
+ </summary>
|
|
|
+ <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IAction.Invoke(System.Int32)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.IAction.Invoke(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes the action associated with a specific index.
|
|
|
+ </summary>
|
|
|
+ <param name="i">The current index for the action to execute.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.IAction2D">
|
|
|
+ <summary>
|
|
|
+ A contract for actions being executed with two input indices.
|
|
|
+ </summary>
|
|
|
+ <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IAction2D.Invoke(System.Int32,System.Int32)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.IAction2D.Invoke(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Executes the action associated with two specified indices.
|
|
|
+ </summary>
|
|
|
+ <param name="i">The first index for the action to execute.</param>
|
|
|
+ <param name="j">The second index for the action to execute.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.IInAction`1">
|
|
|
+ <summary>
|
|
|
+ A contract for actions being executed on items of a specific type, with readonly access.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to process.</typeparam>
|
|
|
+ <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IInAction`1.Invoke(`0@)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.IInAction`1.Invoke(`0@)">
|
|
|
+ <summary>
|
|
|
+ Executes the action on a specified <typeparamref name="T"/> item.
|
|
|
+ </summary>
|
|
|
+ <param name="item">The current item to process.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Helpers.IRefAction`1">
|
|
|
+ <summary>
|
|
|
+ A contract for actions being executed on items of a specific type, with side effect.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to process.</typeparam>
|
|
|
+ <remarks>If the <see cref="M:CommunityToolkit.HighPerformance.Helpers.IRefAction`1.Invoke(`0@)"/> method is small enough, it is highly recommended to mark it with <see cref="F:System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Helpers.IRefAction`1.Invoke(`0@)">
|
|
|
+ <summary>
|
|
|
+ Executes the action on a specified <typeparamref name="T"/> item.
|
|
|
+ </summary>
|
|
|
+ <param name="item">The current item to process.</param>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Memory.Internals.OverflowHelper">
|
|
|
+ <summary>
|
|
|
+ A helper to validate arithmetic operations for <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> and <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.OverflowHelper.EnsureIsInNativeIntRange(System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Ensures that the input parameters will not exceed the maximum native int value when indexing.
|
|
|
+ </summary>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ <exception cref="T:System.OverflowException">Throw when the inputs don't fit in the expected range.</exception>
|
|
|
+ <remarks>The input parameters are assumed to always be positive.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.OverflowHelper.ComputeInt32Area(System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Ensures that the input parameters will not exceed <see cref="F:System.Int32.MaxValue"/> when indexing.
|
|
|
+ </summary>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ <returns>The area resulting from the given parameters.</returns>
|
|
|
+ <exception cref="T:System.OverflowException">Throw when the inputs don't fit in the expected range.</exception>
|
|
|
+ <remarks>The input parameters are assumed to always be positive.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper">
|
|
|
+ <summary>
|
|
|
+ A helper class to throw exceptions for memory types.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForManagedType">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when using the <see langword="void"/>* constructor with a managed type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForDestinationTooShort">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the target span is too short.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForDestinationWithNotSameShape">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the target span does not have the same shape as the source.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArrayTypeMismatchException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArrayTypeMismatchException"/> when using an array of an invalid type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentExceptionForUnsupportedType">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when using an array of an invalid type.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowIndexOutOfRangeException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.IndexOutOfRangeException"/> when the a given coordinate is invalid.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ Throwing <see cref="T:System.IndexOutOfRangeException"/> is technically discouraged in the docs, but
|
|
|
+ we're doing that here for consistency with the official <see cref="T:System.Span`1"/> type(s) from the BCL.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when more than one parameter are invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForDepth">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "depth" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForRow">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "row" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForColumn">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "column" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForOffset">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "offset" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForHeight">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "height" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForWidth">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "width" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Internals.ThrowHelper.ThrowArgumentOutOfRangeExceptionForPitch">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the "pitch" parameter is invalid.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1">
|
|
|
+ <summary>
|
|
|
+ A debug proxy used to display items in a 2D layout.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items to display.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.Memory2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.#ctor(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1"/> class with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance with the items to display.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory.Views.MemoryDebugView2D`1.Items">
|
|
|
+ <summary>
|
|
|
+ Gets the items to display for the current instance
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Memory2D`1">
|
|
|
+ <summary>
|
|
|
+ <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> represents a 2D region of arbitrary memory. It is to <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>
|
|
|
+ what <see cref="T:System.Memory`1"/> is to <see cref="T:System.Span`1"/>. For further details on how the internal layout
|
|
|
+ is structured, see the docs for <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>. The <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> type can wrap arrays
|
|
|
+ of any rank, provided that a valid series of parameters for the target memory area(s) are specified.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.instance">
|
|
|
+ <summary>
|
|
|
+ The target <see cref="T:System.Object"/> instance, if present.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.offset">
|
|
|
+ <summary>
|
|
|
+ The initial byte offset within <see cref="F:CommunityToolkit.HighPerformance.Memory2D`1.instance"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.height">
|
|
|
+ <summary>
|
|
|
+ The height of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.width">
|
|
|
+ <summary>
|
|
|
+ The width of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Memory2D`1.pitch">
|
|
|
+ <summary>
|
|
|
+ The pitch of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="memoryManager"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="memoryManager"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memoryManager"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Memory{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The target <see cref="T:System.Memory`1"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="memory"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Memory{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The target <see cref="T:System.Memory`1"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="memory"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.#ctor(System.Object,System.IntPtr,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="instance">The target <see cref="T:System.Object"/> instance.</param>
|
|
|
+ <param name="offset">The initial offset within <see cref="F:CommunityToolkit.HighPerformance.Memory2D`1.instance"/>.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.DangerousCreate(System.Object,`0@,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance from an arbitrary object.
|
|
|
+ </summary>
|
|
|
+ <param name="instance">The <see cref="T:System.Object"/> instance holding the data to map.</param>
|
|
|
+ <param name="value">The target reference to point to (it must be within <paramref name="instance"/>).</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance with the specified parameters.</returns>
|
|
|
+ <remarks>The <paramref name="value"/> parameter is not validated, and it's responsibility of the caller to ensure it's valid.</remarks>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.IsEmpty">
|
|
|
+ <summary>
|
|
|
+ Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance is empty.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Height">
|
|
|
+ <summary>
|
|
|
+ Gets the height of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Width">
|
|
|
+ <summary>
|
|
|
+ Gets the width of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Span">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance from the current memory.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Memory2D`1.Item(System.Range,System.Range)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="rows">The target range of rows to select.</param>
|
|
|
+ <param name="columns">The target range of columns to select.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to map within the current instance.</param>
|
|
|
+ <param name="column">The target column to map within the current instance.</param>
|
|
|
+ <param name="height">The height to map within the current instance.</param>
|
|
|
+ <param name="width">The width to map within the current instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for the current instance.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ <remarks>See additional remarks in the <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> docs.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.CopyTo(System.Memory{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> into a destination <see cref="T:System.Memory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:System.Memory`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.TryCopyTo(System.Memory{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance to a destination <see cref="T:System.Memory`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:System.Memory`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.CopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
|
|
|
+ For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>.
|
|
|
+ For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Pin">
|
|
|
+ <summary>
|
|
|
+ Creates a handle for the memory.
|
|
|
+ The GC will not move the memory until the returned <see cref="T:System.Buffers.MemoryHandle"/>
|
|
|
+ is disposed, enabling taking and using the memory's address.
|
|
|
+ </summary>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ An instance with non-primitive (non-blittable) members cannot be pinned.
|
|
|
+ </exception>
|
|
|
+ <returns>A <see cref="T:System.Buffers.MemoryHandle"/> instance wrapping the pinned handle.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.TryGetMemory(System.Memory{`0}@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a <see cref="T:System.Memory`1"/> instance, if the underlying buffer is contiguous and small enough.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The resulting <see cref="T:System.Memory`1"/>, in case of success.</param>
|
|
|
+ <returns>Whether or not <paramref name="memory"/> was correctly assigned.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.ToArray">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance into a new 2D array.
|
|
|
+ </summary>
|
|
|
+ <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Equals(System.Object)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.Equals(CommunityToolkit.HighPerformance.Memory2D{`0})">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.GetHashCode">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Memory2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.Memory2D{`0}">
|
|
|
+ <summary>
|
|
|
+ Defines an implicit conversion of an array to a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1">
|
|
|
+ <summary>
|
|
|
+ A readonly version of <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.instance">
|
|
|
+ <summary>
|
|
|
+ The target <see cref="T:System.Object"/> instance, if present.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.offset">
|
|
|
+ <summary>
|
|
|
+ The initial byte offset within <see cref="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.instance"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.height">
|
|
|
+ <summary>
|
|
|
+ The height of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.width">
|
|
|
+ <summary>
|
|
|
+ The width of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.pitch">
|
|
|
+ <summary>
|
|
|
+ The pitch of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.String,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The target <see cref="T:System.String"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="text"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.String,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="text">The target <see cref="T:System.String"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="text"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="text"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="memoryManager"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.Buffers.MemoryManager{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryManager">The target <see cref="T:System.Buffers.MemoryManager`1"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="memoryManager"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memoryManager"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.ReadOnlyMemory{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The target <see cref="T:System.Memory`1"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="memory"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.ReadOnlyMemory{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The target <see cref="T:System.ReadOnlyMemory`1"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="memory"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="memory"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.#ctor(System.Object,System.IntPtr,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="instance">The target <see cref="T:System.Object"/> instance.</param>
|
|
|
+ <param name="offset">The initial offset within <see cref="F:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.instance"/>.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.DangerousCreate(System.Object,`0@,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance from an arbitrary object.
|
|
|
+ </summary>
|
|
|
+ <param name="instance">The <see cref="T:System.Object"/> instance holding the data to map.</param>
|
|
|
+ <param name="value">The target reference to point to (it must be within <paramref name="instance"/>).</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance with the specified parameters.</returns>
|
|
|
+ <remarks>The <paramref name="value"/> parameter is not validated, and it's responsibility of the caller to ensure it's valid.</remarks>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.IsEmpty">
|
|
|
+ <summary>
|
|
|
+ Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance is empty.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Height">
|
|
|
+ <summary>
|
|
|
+ Gets the height of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Width">
|
|
|
+ <summary>
|
|
|
+ Gets the width of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Span">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance from the current memory.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Item(System.Range,System.Range)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="rows">The target range of rows to select.</param>
|
|
|
+ <param name="columns">The target range of columns to select.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to map within the current instance.</param>
|
|
|
+ <param name="column">The target column to map within the current instance.</param>
|
|
|
+ <param name="height">The height to map within the current instance.</param>
|
|
|
+ <param name="width">The width to map within the current instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for the current instance.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ <remarks>See additional remarks in the <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> docs.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.CopyTo(System.Memory{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> into a destination <see cref="T:System.Memory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:System.Memory`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.TryCopyTo(System.Memory{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance to a destination <see cref="T:System.Memory`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:System.Memory`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.CopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.
|
|
|
+ For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Memory2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/>.
|
|
|
+ For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> has to have the same shape as the current one.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Pin">
|
|
|
+ <summary>
|
|
|
+ Creates a handle for the memory.
|
|
|
+ The GC will not move the memory until the returned <see cref="T:System.Buffers.MemoryHandle"/>
|
|
|
+ is disposed, enabling taking and using the memory's address.
|
|
|
+ </summary>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ An instance with non-primitive (non-blittable) members cannot be pinned.
|
|
|
+ </exception>
|
|
|
+ <returns>A <see cref="T:System.Buffers.MemoryHandle"/> instance wrapping the pinned handle.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.TryGetMemory(System.ReadOnlyMemory{`0}@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a <see cref="T:System.ReadOnlyMemory`1"/> instance, if the underlying buffer is contiguous and small enough.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The resulting <see cref="T:System.ReadOnlyMemory`1"/>, in case of success.</param>
|
|
|
+ <returns>Whether or not <paramref name="memory"/> was correctly assigned.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.ToArray">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance into a new 2D array.
|
|
|
+ </summary>
|
|
|
+ <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/> instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Equals(System.Object)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.Equals(CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0})">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.GetHashCode">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0}">
|
|
|
+ <summary>
|
|
|
+ Defines an implicit conversion of an array to a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/>
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1.op_Implicit(CommunityToolkit.HighPerformance.Memory2D{`0})~CommunityToolkit.HighPerformance.ReadOnlyMemory2D{`0}">
|
|
|
+ <summary>
|
|
|
+ Defines an implicit conversion of a <see cref="T:CommunityToolkit.HighPerformance.Memory2D`1"/> to a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlyMemory2D`1"/>
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1">
|
|
|
+ <summary>
|
|
|
+ A readonly version of <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</typeparam>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.span">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.width">
|
|
|
+ <summary>
|
|
|
+ The width of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.stride">
|
|
|
+ <summary>
|
|
|
+ The stride of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0@,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(System.Void*,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="pointer">The pointer to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(System.ReadOnlySpan{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The target <see cref="T:System.ReadOnlySpan`1"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="span"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.#ctor(System.ReadOnlySpan{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The target <see cref="T:System.ReadOnlySpan`1"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="span"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="span"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.DangerousCreate(`0@,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance with the specified parameters.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.IsEmpty">
|
|
|
+ <summary>
|
|
|
+ Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance is empty.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Height">
|
|
|
+ <summary>
|
|
|
+ Gets the height of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Width">
|
|
|
+ <summary>
|
|
|
+ Gets the width of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Item(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based indices.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to get the element from.</param>
|
|
|
+ <param name="column">The target column to get the element from.</param>
|
|
|
+ <returns>A reference to the element at the specified indices.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Item(System.Index,System.Index)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based indices.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to get the element from.</param>
|
|
|
+ <param name="column">The target column to get the element from.</param>
|
|
|
+ <returns>A reference to the element at the specified indices.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Item(System.Range,System.Range)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="rows">The target range of rows to select.</param>
|
|
|
+ <param name="columns">The target range of columns to select.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.CopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> into a destination <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.CopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> has to have the same shape as the current one.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> does not have the same shape as the source <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.TryCopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to a destination <see cref="T:System.Span`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetPinnableReference">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the 0th element of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance. If the current
|
|
|
+ instance is empty, returns a <see langword="null"/> reference. It can be used for pinning
|
|
|
+ and is required to support the use of span within a fixed statement.
|
|
|
+ </summary>
|
|
|
+ <returns>A reference to the 0th element, or a <see langword="null"/> reference.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.DangerousGetReference">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within the current instance, with no bounds check.
|
|
|
+ </summary>
|
|
|
+ <returns>A reference to the first element within the current instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.DangerousGetReferenceAt(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to a specified element within the current instance, with no bounds check.
|
|
|
+ </summary>
|
|
|
+ <param name="i">The target row to get the element from.</param>
|
|
|
+ <param name="j">The target column to get the element from.</param>
|
|
|
+ <returns>A reference to the element at the specified indices.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to map within the current instance.</param>
|
|
|
+ <param name="column">The target column to map within the current instance.</param>
|
|
|
+ <param name="height">The height to map within the current instance.</param>
|
|
|
+ <param name="width">The width to map within the current instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for the current instance.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ <remarks>See additional remarks in the <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> docs.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetRowSpan(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:System.ReadOnlySpan`1"/> for a specified row.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The index of the target row to retrieve.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Throw when <paramref name="row"/> is out of range.</exception>
|
|
|
+ <returns>The resulting row <see cref="T:System.ReadOnlySpan`1"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.TryGetSpan(System.ReadOnlySpan{`0}@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a <see cref="T:System.ReadOnlySpan`1"/> instance, if the underlying buffer is contiguous and small enough.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The resulting <see cref="T:System.ReadOnlySpan`1"/>, in case of success.</param>
|
|
|
+ <returns>Whether or not <paramref name="span"/> was correctly assigned.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.ToArray">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance into a new 2D array.
|
|
|
+ </summary>
|
|
|
+ <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Equals(System.Object)">
|
|
|
+ <inheritdoc cref="M:System.ReadOnlySpan`1.Equals(System.Object)"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetHashCode">
|
|
|
+ <inheritdoc cref="M:System.ReadOnlySpan`1.GetHashCode"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Equality(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0},CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Checks whether two <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instances are equal.
|
|
|
+ </summary>
|
|
|
+ <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
|
|
|
+ <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
|
|
|
+ <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are equal.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Inequality(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0},CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Checks whether two <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instances are not equal.
|
|
|
+ </summary>
|
|
|
+ <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
|
|
|
+ <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to compare.</param>
|
|
|
+ <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are not equal.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0}">
|
|
|
+ <summary>
|
|
|
+ Implicitly converts a given 2D array into a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The input 2D array to convert.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.op_Implicit(CommunityToolkit.HighPerformance.Span2D{`0})~CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0}">
|
|
|
+ <summary>
|
|
|
+ Implicitly converts a given <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> into a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The input <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> to convert.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetRow(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets an enumerable that traverses items in a specified row.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> with target items to enumerate.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetColumn(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets an enumerable that traverses items in a specified column.
|
|
|
+ </summary>
|
|
|
+ <param name="column">The target column to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> with target items to enumerate.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.ReadOnlyRefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.GetEnumerator">
|
|
|
+ <summary>
|
|
|
+ Returns an enumerator for the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <returns>
|
|
|
+ An enumerator that can be used to traverse the items in the current <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance
|
|
|
+ </returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator">
|
|
|
+ <summary>
|
|
|
+ Provides an enumerator for the elements of a <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.span">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.ReadOnlySpan`1"/> instance pointing to the first item in the target memory area.
|
|
|
+ </summary>
|
|
|
+ <remarks>Just like in <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/>, the length is the height of the 2D region.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.width">
|
|
|
+ <summary>
|
|
|
+ The width of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.stride">
|
|
|
+ <summary>
|
|
|
+ The stride of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.x">
|
|
|
+ <summary>
|
|
|
+ The current horizontal offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.y">
|
|
|
+ <summary>
|
|
|
+ The current vertical offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.#ctor(CommunityToolkit.HighPerformance.ReadOnlySpan2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The target <see cref="T:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1"/> instance to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.MoveNext">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.ReadOnlySpan2D`1.Enumerator.Current">
|
|
|
+ <summary>
|
|
|
+ Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Span2D`1">
|
|
|
+ <summary>
|
|
|
+ <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> represents a 2D region of arbitrary memory. Like the <see cref="T:System.Span`1"/> type,
|
|
|
+ it can point to either managed or native memory, or to memory allocated on the stack. It is type- and memory-safe.
|
|
|
+ One key difference with <see cref="T:System.Span`1"/> and arrays is that the underlying buffer for a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>
|
|
|
+ instance might not be contiguous in memory: this is supported to enable mapping arbitrary 2D regions even if they
|
|
|
+ require padding between boundaries of sequential rows. All this logic is handled internally by the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>
|
|
|
+ type and it is transparent to the user, but note that working over discontiguous buffers has a performance impact.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="T">The type of items in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</typeparam>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.span">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Span`1"/> instance pointing to the first item in the target memory area.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ The <see cref="P:System.Span`1.Length"/> field maps to the height of the 2D region.
|
|
|
+ This is done to save 4 bytes in the layout of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> type.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.width">
|
|
|
+ <summary>
|
|
|
+ The width of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Stride">
|
|
|
+ <summary>
|
|
|
+ The stride of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ <remarks>
|
|
|
+ This combines both the width and pitch in a single value so that the indexing
|
|
|
+ logic can be simplified (no need to recompute the sum every time) and be faster.
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0@,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(System.Void*,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="pointer">The pointer to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="array"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The target array to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:])">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:],System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a 2D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 2D array to wrap.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for <paramref name="array"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:,0:],System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(`0[0:,0:,0:],System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct wrapping a layer in a 3D array.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The given 3D array to wrap.</param>
|
|
|
+ <param name="depth">The target layer to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="row">The target row to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="column">The target column to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="height">The height to map within <paramref name="array"/>.</param>
|
|
|
+ <param name="width">The width to map within <paramref name="array"/>.</param>
|
|
|
+ <exception cref="T:System.ArrayTypeMismatchException">
|
|
|
+ Thrown when <paramref name="array"/> doesn't match <typeparamref name="T"/>.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when a parameter is invalid.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(System.Span{`0},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The target <see cref="T:System.Span`1"/> to wrap.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="height"/> or <paramref name="width"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <remarks>The total area must match the length of <paramref name="span"/>.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.#ctor(System.Span{`0},System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The target <see cref="T:System.Span`1"/> to wrap.</param>
|
|
|
+ <param name="offset">The initial offset within <paramref name="span"/>.</param>
|
|
|
+ <param name="height">The height of the resulting 2D area.</param>
|
|
|
+ <param name="width">The width of each row in the resulting 2D area.</param>
|
|
|
+ <param name="pitch">The pitch in the resulting 2D area.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when one of the input parameters is out of range.
|
|
|
+ </exception>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when the requested area is outside of bounds for <paramref name="span"/>.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.DangerousCreate(`0@,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Creates a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> struct with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The reference to the first <typeparamref name="T"/> item to map.</param>
|
|
|
+ <param name="height">The height of the 2D memory area to map.</param>
|
|
|
+ <param name="width">The width of the 2D memory area to map.</param>
|
|
|
+ <param name="pitch">The pitch of the 2D memory area to map (the distance between each row).</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with the specified parameters.</returns>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Thrown when one of the parameters are negative.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.IsEmpty">
|
|
|
+ <summary>
|
|
|
+ Gets a value indicating whether the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance is empty.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the length of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Height">
|
|
|
+ <summary>
|
|
|
+ Gets the height of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Width">
|
|
|
+ <summary>
|
|
|
+ Gets the width of the underlying 2D memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Item(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based indices.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to get the element from.</param>
|
|
|
+ <param name="column">The target column to get the element from.</param>
|
|
|
+ <returns>A reference to the element at the specified indices.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Item(System.Index,System.Index)">
|
|
|
+ <summary>
|
|
|
+ Gets the element at the specified zero-based indices.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to get the element from.</param>
|
|
|
+ <param name="column">The target column to get the element from.</param>
|
|
|
+ <returns>A reference to the element at the specified indices.</returns>
|
|
|
+ <exception cref="T:System.IndexOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="row"/> or <paramref name="column"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Item(System.Range,System.Range)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="rows">The target range of rows to select.</param>
|
|
|
+ <param name="columns">The target range of columns to select.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when either <paramref name="rows"/> or <paramref name="columns"/> are invalid.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Clear">
|
|
|
+ <summary>
|
|
|
+ Clears the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.CopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> into a destination <see cref="T:System.Span`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:System.Span`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> is shorter than the source <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.CopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of this <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> into a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ For this API to succeed, the target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> has to have the same shape as the current one.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentException">
|
|
|
+ Thrown when <paramref name="destination" /> does not have the same shape as the source <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.TryCopyTo(System.Span{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to a destination <see cref="T:System.Span`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:System.Span`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.TryCopyTo(CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Attempts to copy the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to a destination <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>.
|
|
|
+ </summary>
|
|
|
+ <param name="destination">The target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> of the copy operation.</param>
|
|
|
+ <returns>Whether or not the operation was successful.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Fill(`0)">
|
|
|
+ <summary>
|
|
|
+ Fills the elements of this span with a specified value.
|
|
|
+ </summary>
|
|
|
+ <param name="value">The value to assign to each element of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetPinnableReference">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the 0th element of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance. If the current
|
|
|
+ instance is empty, returns a <see langword="null"/> reference. It can be used for pinning
|
|
|
+ and is required to support the use of span within a fixed statement.
|
|
|
+ </summary>
|
|
|
+ <returns>A reference to the 0th element, or a <see langword="null"/> reference.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.DangerousGetReference">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to the first element within the current instance, with no bounds check.
|
|
|
+ </summary>
|
|
|
+ <returns>A reference to the first element within the current instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.DangerousGetReferenceAt(System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Returns a reference to a specified element within the current instance, with no bounds check.
|
|
|
+ </summary>
|
|
|
+ <param name="i">The target row to get the element from.</param>
|
|
|
+ <param name="j">The target column to get the element from.</param>
|
|
|
+ <returns>A reference to the element at the specified indices.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Slices the current instance with the specified parameters.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to map within the current instance.</param>
|
|
|
+ <param name="column">The target column to map within the current instance.</param>
|
|
|
+ <param name="height">The height to map within the current instance.</param>
|
|
|
+ <param name="width">The width to map within the current instance.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">
|
|
|
+ Thrown when either <paramref name="height"/>, <paramref name="width"/> or <paramref name="height"/>
|
|
|
+ are negative or not within the bounds that are valid for the current instance.
|
|
|
+ </exception>
|
|
|
+ <returns>A new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance representing a slice of the current one.</returns>
|
|
|
+ <remarks>
|
|
|
+ <para>
|
|
|
+ Contrary to <see cref="M:System.Span`1.Slice(System.Int32,System.Int32)"/>, this method will throw an <see cref="T:System.ArgumentOutOfRangeException"/>
|
|
|
+ if attempting to perform a slice operation that would result in either axes being 0. That is, trying to call
|
|
|
+ <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> as eg. <c>Slice(row: 1, column: 0, height: 0, width: 2)</c> on an instance
|
|
|
+ that has 1 row and 2 columns will throw, rather than returning a new <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance with 0 rows and
|
|
|
+ 2 columns. For contrast, trying to eg. call <c>Slice(start: 1, length: 0)</c> on a <see cref="T:System.Span`1"/> instance of
|
|
|
+ length 1 would return a span of length 0, with the internal reference being set to right past the end of the memory.
|
|
|
+ </para>
|
|
|
+ <para>
|
|
|
+ This is by design, and it is due to the internal memory layout that <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> has. That is, in the case
|
|
|
+ of <see cref="T:System.Span`1"/>, the only edge case scenario would be to obtain a new span of size 0, referencing the very end
|
|
|
+ of the backing object (eg. an array or a <see cref="T:System.String"/> instance). In that case, the GC can correctly track things.
|
|
|
+ With <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>, on the other hand, it would be possible to slice an instance with a sizeof 0 in either axis,
|
|
|
+ but with the computed starting reference pointing well past the end of the internal memory area. Such a behavior would not
|
|
|
+ be valid if the reference was pointing to a managed object, and it would cause memory corruptions (ie. "GC holes").
|
|
|
+ </para>
|
|
|
+ <para>
|
|
|
+ If you specifically need to be able to obtain empty values from slicing past the valid range, consider performing the range
|
|
|
+ validation yourself (ie. through some helper method), and then only invoking <see cref="M:CommunityToolkit.HighPerformance.Span2D`1.Slice(System.Int32,System.Int32,System.Int32,System.Int32)"/> once the
|
|
|
+ parameters are in the accepted range. Otherwise, consider returning another return explicitly, such as <see cref="P:CommunityToolkit.HighPerformance.Span2D`1.Empty"/>.
|
|
|
+ </para>
|
|
|
+ </remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetRowSpan(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:System.Span`1"/> for a specified row.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The index of the target row to retrieve.</param>
|
|
|
+ <exception cref="T:System.ArgumentOutOfRangeException">Throw when <paramref name="row"/> is out of range.</exception>
|
|
|
+ <returns>The resulting row <see cref="T:System.Span`1"/>.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.TryGetSpan(System.Span{`0}@)">
|
|
|
+ <summary>
|
|
|
+ Tries to get a <see cref="T:System.Span`1"/> instance, if the underlying buffer is contiguous and small enough.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The resulting <see cref="T:System.Span`1"/>, in case of success.</param>
|
|
|
+ <returns>Whether or not <paramref name="span"/> was correctly assigned.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.ToArray">
|
|
|
+ <summary>
|
|
|
+ Copies the contents of the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance into a new 2D array.
|
|
|
+ </summary>
|
|
|
+ <returns>A 2D array containing the data in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Equals(System.Object)">
|
|
|
+ <inheritdoc cref="M:System.Span`1.Equals(System.Object)"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetHashCode">
|
|
|
+ <inheritdoc cref="M:System.Span`1.GetHashCode"/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.ToString">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.op_Equality(CommunityToolkit.HighPerformance.Span2D{`0},CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Checks whether two <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instances are equal.
|
|
|
+ </summary>
|
|
|
+ <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
|
|
|
+ <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
|
|
|
+ <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are equal.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.op_Inequality(CommunityToolkit.HighPerformance.Span2D{`0},CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Checks whether two <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instances are not equal.
|
|
|
+ </summary>
|
|
|
+ <param name="left">The first <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
|
|
|
+ <param name="right">The second <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to compare.</param>
|
|
|
+ <returns>Whether or not <paramref name="left"/> and <paramref name="right"/> are not equal.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.op_Implicit(`0[0:,0:])~CommunityToolkit.HighPerformance.Span2D{`0}">
|
|
|
+ <summary>
|
|
|
+ Implicitly converts a given 2D array into a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The input 2D array to convert.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetRow(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets an enumerable that traverses items in a specified row.
|
|
|
+ </summary>
|
|
|
+ <param name="row">The target row to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with target items to enumerate.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetColumn(System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Gets an enumerable that traverses items in a specified column.
|
|
|
+ </summary>
|
|
|
+ <param name="column">The target column to enumerate within the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> with target items to enumerate.</returns>
|
|
|
+ <remarks>The returned <see cref="T:CommunityToolkit.HighPerformance.Enumerables.RefEnumerable`1"/> value shouldn't be used directly: use this extension in a <see langword="foreach"/> loop.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.GetEnumerator">
|
|
|
+ <summary>
|
|
|
+ Returns an enumerator for the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <returns>
|
|
|
+ An enumerator that can be used to traverse the items in the current <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance
|
|
|
+ </returns>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Span2D`1.Enumerator">
|
|
|
+ <summary>
|
|
|
+ Provides an enumerator for the elements of a <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.span">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.Span`1"/> instance pointing to the first item in the target memory area.
|
|
|
+ </summary>
|
|
|
+ <remarks>Just like in <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/>, the length is the height of the 2D region.</remarks>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.width">
|
|
|
+ <summary>
|
|
|
+ The width of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.stride">
|
|
|
+ <summary>
|
|
|
+ The stride of the specified 2D region.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.x">
|
|
|
+ <summary>
|
|
|
+ The current horizontal offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.y">
|
|
|
+ <summary>
|
|
|
+ The current vertical offset.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.#ctor(CommunityToolkit.HighPerformance.Span2D{`0})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Span2D`1.Enumerator"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="span">The target <see cref="T:CommunityToolkit.HighPerformance.Span2D`1"/> instance to enumerate.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.MoveNext">
|
|
|
+ <summary>
|
|
|
+ Implements the duck-typed <see cref="M:System.Collections.IEnumerator.MoveNext"/> method.
|
|
|
+ </summary>
|
|
|
+ <returns><see langword="true"/> whether a new element is available, <see langword="false"/> otherwise</returns>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Span2D`1.Enumerator.Current">
|
|
|
+ <summary>
|
|
|
+ Gets the duck-typed <see cref="P:System.Collections.Generic.IEnumerator`1.Current"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1">
|
|
|
+ <summary>
|
|
|
+ A <see cref="T:System.IO.Stream"/> implementation wrapping an <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TWriter">The type of buffer writer to use.</typeparam>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.bufferWriter">
|
|
|
+ <summary>
|
|
|
+ The target <typeparamref name="TWriter"/> instance to use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.disposed">
|
|
|
+ <summary>
|
|
|
+ Indicates whether or not the current instance has been disposed
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.#ctor(`0)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="bufferWriter">The target <see cref="T:System.Buffers.IBufferWriter`1"/> instance to use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CanRead">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CanSeek">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CanWrite">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Length">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Position">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CopyToAsync(System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Flush">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.FlushAsync(System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Seek(System.Int64,System.IO.SeekOrigin)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.SetLength(System.Int64)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Read(System.Byte[],System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.ReadByte">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Write(System.Byte[],System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.WriteByte(System.Byte)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.CopyTo(System.IO.Stream,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.ReadAsync(System.Memory{System.Byte},System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Read(System.Span{System.Byte})">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterStream`1.Write(System.ReadOnlySpan{System.Byte})">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1">
|
|
|
+ <summary>
|
|
|
+ A <see cref="T:System.IO.Stream"/> implementation wrapping an <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TSource">The type of source to use for the underlying data.</typeparam>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1.disposable">
|
|
|
+ <summary>
|
|
|
+ The <see cref="T:System.IDisposable"/> instance currently in use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1.#ctor(`0,System.IDisposable)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="source">The input <typeparamref name="TSource"/> instance to use.</param>
|
|
|
+ <param name="disposable">The <see cref="T:System.IDisposable"/> instance currently in use.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.MemoryStream">
|
|
|
+ <summary>
|
|
|
+ A factory class to produce <see cref="T:CommunityToolkit.HighPerformance.Streams.MemoryStream`1"/> instances.
|
|
|
+ </summary>
|
|
|
+ <inheritdoc/>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.Create(System.ReadOnlyMemory{System.Byte},System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.IO.Stream"/> from the input <see cref="T:System.ReadOnlyMemory`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="memory">The input <see cref="T:System.ReadOnlyMemory`1"/> instance.</param>
|
|
|
+ <param name="isReadOnly">Indicates whether or not <paramref name="memory"/> can be written to.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping the underlying data for <paramref name="memory"/>.</returns>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when <paramref name="memory"/> has an invalid data store.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.Create(System.Buffers.IMemoryOwner{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Creates a new <see cref="T:System.IO.Stream"/> from the input <see cref="T:System.Buffers.IMemoryOwner`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryOwner">The input <see cref="T:System.Buffers.IMemoryOwner`1"/> instance.</param>
|
|
|
+ <returns>A <see cref="T:System.IO.Stream"/> wrapping the underlying data for <paramref name="memoryOwner"/>.</returns>
|
|
|
+ <exception cref="T:System.ArgumentException">Thrown when <paramref name="memoryOwner"/> has an invalid data store.</exception>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowNotSupportedExceptionForInvalidMemory">
|
|
|
+ <summary>
|
|
|
+ Throws a <see cref="T:System.ArgumentException"/> when a given <see cref="T:System.Memory`1"/>
|
|
|
+ or <see cref="T:System.Buffers.IMemoryOwner`1"/> instance has an unsupported backing store.
|
|
|
+ </summary>
|
|
|
+ <returns>Nothing, this method always throws.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.GetNotSupportedException">
|
|
|
+ <summary>
|
|
|
+ Gets a standard <see cref="T:System.NotSupportedException"/> instance for a stream.
|
|
|
+ </summary>
|
|
|
+ <returns>A <see cref="T:System.NotSupportedException"/> with the standard text.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowNotSupportedException">
|
|
|
+ <summary>
|
|
|
+ Throws a <see cref="T:System.NotSupportedException"/> when trying to perform a not supported operation.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentExceptionForEndOfStreamOnWrite">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when trying to write too many bytes to the target stream.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentExceptionForSeekOrigin">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when using an invalid seek mode.
|
|
|
+ </summary>
|
|
|
+ <returns>Nothing, as this method throws unconditionally.</returns>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentOutOfRangeExceptionForPosition">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when setting the <see cref="P:System.IO.Stream.Position"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentNullExceptionForBuffer">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentNullException"/> when an input buffer is <see langword="null"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentOutOfRangeExceptionForOffset">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the input count is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentOutOfRangeExceptionForCount">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentOutOfRangeException"/> when the input count is negative.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowArgumentExceptionForLength">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ArgumentException"/> when the sum of offset and count exceeds the length of the target buffer.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ThrowObjectDisposedException">
|
|
|
+ <summary>
|
|
|
+ Throws an <see cref="T:System.ObjectDisposedException"/> when using a disposed <see cref="T:System.IO.Stream"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidatePosition(System.Int64,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Validates the <see cref="P:System.IO.Stream.Position"/> argument (it needs to be in the [0, length]) range.
|
|
|
+ </summary>
|
|
|
+ <param name="position">The new <see cref="P:System.IO.Stream.Position"/> value being set.</param>
|
|
|
+ <param name="length">The maximum length of the target <see cref="T:System.IO.Stream"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidateBuffer(System.Byte[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Validates the <see cref="M:System.IO.Stream.Read(System.Byte[],System.Int32,System.Int32)"/> or <see cref="M:System.IO.Stream.Write(System.Byte[],System.Int32,System.Int32)"/> arguments.
|
|
|
+ </summary>
|
|
|
+ <param name="buffer">The target array.</param>
|
|
|
+ <param name="offset">The offset within <paramref name="buffer"/>.</param>
|
|
|
+ <param name="count">The number of elements to process within <paramref name="buffer"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidateCanWrite(System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Validates the <see cref="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanWrite"/> property.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream.ValidateDisposed(System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Validates that a given <see cref="T:System.IO.Stream"/> instance hasn't been disposed.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.MemoryStream`1">
|
|
|
+ <summary>
|
|
|
+ A <see cref="T:System.IO.Stream"/> implementation wrapping a <see cref="T:System.Memory`1"/> or <see cref="T:System.ReadOnlyMemory`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ <typeparam name="TSource">The type of source to use for the underlying data.</typeparam>
|
|
|
+ <remarks>
|
|
|
+ This type is not marked as <see langword="sealed"/> so that it can be inherited by
|
|
|
+ <see cref="T:CommunityToolkit.HighPerformance.Streams.IMemoryOwnerStream`1"/>, which adds the <see cref="T:System.IDisposable"/> support for
|
|
|
+ the wrapped buffer. We're not worried about the performance penalty here caused by the JIT
|
|
|
+ not being able to resolve the <see langword="callvirt"/> instruction, as this type is
|
|
|
+ only exposed as a <see cref="T:System.IO.Stream"/> anyway, so the generated code would be the same.
|
|
|
+ </remarks>
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.isReadOnly">
|
|
|
+ <summary>
|
|
|
+ Indicates whether <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.source"/> can be written to.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.source">
|
|
|
+ <summary>
|
|
|
+ The <typeparamref name="TSource"/> instance currently in use.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.position">
|
|
|
+ <summary>
|
|
|
+ The current position within <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.source"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.disposed">
|
|
|
+ <summary>
|
|
|
+ Indicates whether or not the current instance has been disposed
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.#ctor(`0,System.Boolean)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.MemoryStream`1"/> class.
|
|
|
+ </summary>
|
|
|
+ <param name="source">The input <typeparamref name="TSource"/> instance to use.</param>
|
|
|
+ <param name="isReadOnly">Indicates whether <paramref name="source"/> can be written to.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanRead">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanSeek">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CanWrite">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Length">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Position">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CopyToAsync(System.IO.Stream,System.Int32,System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Flush">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.FlushAsync(System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.ReadAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.WriteAsync(System.Byte[],System.Int32,System.Int32,System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Seek(System.Int64,System.IO.SeekOrigin)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.SetLength(System.Int64)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Read(System.Byte[],System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.ReadByte">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Write(System.Byte[],System.Int32,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.WriteByte(System.Byte)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Dispose(System.Boolean)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.CopyTo(System.IO.Stream,System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.ReadAsync(System.Memory{System.Byte},System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.WriteAsync(System.ReadOnlyMemory{System.Byte},System.Threading.CancellationToken)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Read(System.Span{System.Byte})">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryStream`1.Write(System.ReadOnlySpan{System.Byte})">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner">
|
|
|
+ <summary>
|
|
|
+ An <see cref="T:System.Buffers.IBufferWriter`1"/> implementation wrapping an <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.writer">
|
|
|
+ <summary>
|
|
|
+ The wrapped <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.#ctor(CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="writer">The wrapped <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.Advance(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.GetMemory(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayBufferWriterOwner.GetSpan(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.ArrayOwner">
|
|
|
+ <summary>
|
|
|
+ An <see cref="T:CommunityToolkit.HighPerformance.Streams.ISpanOwner"/> implementation wrapping an array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.array">
|
|
|
+ <summary>
|
|
|
+ The wrapped <see cref="T:System.Byte"/> array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.offset">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.length">
|
|
|
+ <summary>
|
|
|
+ The usable length within <see cref="F:CommunityToolkit.HighPerformance.Streams.ArrayOwner.array"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.ArrayOwner.#ctor(System.Byte[],System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.ArrayOwner"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="array">The wrapped <see cref="T:System.Byte"/> array.</param>
|
|
|
+ <param name="offset">The starting offset within <paramref name="array"/>.</param>
|
|
|
+ <param name="length">The usable length within <paramref name="array"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Empty">
|
|
|
+ <summary>
|
|
|
+ Gets an empty <see cref="T:CommunityToolkit.HighPerformance.Streams.ArrayOwner"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Length">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Span">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ArrayOwner.Memory">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner">
|
|
|
+ <summary>
|
|
|
+ An <see cref="T:System.Buffers.IBufferWriter`1"/> implementation wrapping an <see cref="T:System.Buffers.IBufferWriter`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.writer">
|
|
|
+ <summary>
|
|
|
+ The wrapped <see cref="T:CommunityToolkit.HighPerformance.Buffers.ArrayPoolBufferWriter`1"/> array.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.#ctor(System.Buffers.IBufferWriter{System.Byte})">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="writer">The wrapped <see cref="T:System.Buffers.IBufferWriter`1"/> instance.</param>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.Advance(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.GetMemory(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.IBufferWriterOwner.GetSpan(System.Int32)">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.ISpanOwner">
|
|
|
+ <summary>
|
|
|
+ An interface for types acting as sources for <see cref="T:System.Span`1"/> instances.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ISpanOwner.Length">
|
|
|
+ <summary>
|
|
|
+ Gets the length of the underlying memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ISpanOwner.Span">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:System.Span`1"/> instance wrapping the underlying memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.ISpanOwner.Memory">
|
|
|
+ <summary>
|
|
|
+ Gets a <see cref="T:System.Memory`1"/> instance wrapping the underlying memory area.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="T:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner">
|
|
|
+ <summary>
|
|
|
+ An <see cref="T:CommunityToolkit.HighPerformance.Streams.ISpanOwner"/> implementation wrapping a <see cref="T:System.Buffers.MemoryManager`1"/> of <see cref="T:System.Byte"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.memoryManager">
|
|
|
+ <summary>
|
|
|
+ The wrapped <see cref="T:System.Buffers.MemoryManager`1"/> instance.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.offset">
|
|
|
+ <summary>
|
|
|
+ The starting offset within <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.memoryManager"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.length">
|
|
|
+ <summary>
|
|
|
+ The usable length within <see cref="F:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.memoryManager"/>.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ <member name="M:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.#ctor(System.Buffers.MemoryManager{System.Byte},System.Int32,System.Int32)">
|
|
|
+ <summary>
|
|
|
+ Initializes a new instance of the <see cref="T:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner"/> struct.
|
|
|
+ </summary>
|
|
|
+ <param name="memoryManager">The wrapped <see cref="T:System.Buffers.MemoryManager`1"/> instance.</param>
|
|
|
+ <param name="offset">The starting offset within <paramref name="memoryManager"/>.</param>
|
|
|
+ <param name="length">The usable length within <paramref name="memoryManager"/>.</param>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.Length">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.Span">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="P:CommunityToolkit.HighPerformance.Streams.MemoryManagerOwner.Memory">
|
|
|
+ <inheritdoc/>
|
|
|
+ </member>
|
|
|
+ <member name="T:System.Runtime.CompilerServices.SkipLocalsInitAttribute">
|
|
|
+ <summary>
|
|
|
+ Used to indicate to the compiler that the <c>.locals init</c> flag should not be set in method headers.
|
|
|
+ </summary>
|
|
|
+ </member>
|
|
|
+ </members>
|
|
|
+</doc>
|