/// <summary> /// Reverses the elements in a <see cref="string" />. /// </summary> /// <param name="str"><see cref="string" /> to reverse</param> public static unsafe void FastReverse(this string str) { fixed(char *ptr = str) { PointerOperations.Reverse(ptr, str.Length); } }
/// <summary> /// Reverses the elements in a span of unmanaged type. /// </summary> /// <typeparam name="T">Type</typeparam> /// <param name="span">Span to reverse</param> public static unsafe void FastReverse <T>(this ReadOnlySpan <T> span) where T : unmanaged { fixed(T *ptr = span) { PointerOperations.Reverse(ptr, span.Length); } }
/// <summary> /// Reverses the elements in an array of unmanaged type. /// </summary> /// <typeparam name="T">Type</typeparam> /// <param name="array">Array to reverse</param> public static unsafe void FastReverse <T>(this T[] array) where T : unmanaged { fixed(T *ptr = array) { PointerOperations.Reverse(ptr, array.Length); } }