public TRet GetReference <TRet>(int index, Reference.RefFunc <T, TRet> func) { if (index < 0 || index >= count) { throw new ArgumentOutOfRangeException("index"); } return(func(ref _items[index])); }
public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func) { return(GetReference <TRet>(tr => tr.AsRef(func))); }
/// <summary> /// Obtains a reference to an element in this array. /// </summary> public TRet GetReference <TRet>(int index, Reference.RefFunc <T, TRet> func) { return(func(ref array[index].Value)); }
/// <summary> /// Converts a pointer to a reference. /// </summary> /// <param name="ptr">The pointer to convert.</param> /// <param name="func">The function to receive the reference.</param> /// <returns>The value returned by <paramref name="func"/></returns> public static TRet GetReference <T, TRet>(IntPtr ptr, Reference.RefFunc <T, TRet> func) where T : struct { return(Reference.CacheHelper <T> .WithRet <TRet> .FromPtr(ptr, func)); }
/// <summary> /// Converts a pointer to a reference. /// </summary> /// <param name="ptr">The pointer to convert.</param> /// <param name="func">The function to receive the reference.</param> /// <returns>The value returned by <paramref name="func"/></returns> public static TRet GetReference <T, TRet>(Pointer <T> ptr, Reference.RefFunc <T, TRet> func) where T : struct { return(GetReference <T, TRet>(ptr.ToIntPtr(), func)); }
public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func) { return(UnsafeTools.GetReference(this, func)); }
public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func) { return(func(ref Array[Index])); }
public static TRet AsRef <T, TRet>(this TypedReference tr, Reference.RefFunc <T, TRet> act) { return(ConvHelper <T> .WithRet <TRet> .Convert(tr, act)); }
public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func) { return(Reference.GetBoxedData(Instance, func)); }
public TRet GetReference <TRet>(Reference.RefFunc <T, TRet> func) { return(func(ref Value)); }