public static unsafe int IndexOf <T>(this ReadOnlyNativeJaggedArraySlice <T> slice, T key, int start = 0)
     where T : unmanaged, IEquatable <T>
 {
     return(slice._slice.IndexOf(key, start));
 }
 public bool Equals(ReadOnlyNativeJaggedArraySlice <Char16> slice)
 {
     this.CheckReallocate();
     return(slice.Equals(_ptr, _len));
 }
 public unsafe bool Equals(ReadOnlyNativeJaggedArraySlice <Char16> slice)
 {
     return(_entity.Equals(slice));
 }
 /// <summary>
 /// specialize for ReadOnlyNativeJaggedArraySlice<T>
 /// </summary>
 /// <param name="slice"></param>
 public unsafe void Add(ReadOnlyNativeJaggedArraySlice <T> slice)
 {
     this.Add((T *)slice.GetUnsafePtr(), slice.Length);
 }