예제 #1
0
 /// <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);
     }
 }
예제 #2
0
 /// <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);
     }
 }
예제 #3
0
 /// <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);
     }
 }