Interface IWeakMemoizer
Interface for function memoizers that don't keep function arguments alive by the memoization cache.
Assembly: Nuqleon.Memory.dll
Syntax
public interface IWeakMemoizer
Methods
MemoizeWeak<T, TResult>(Func<T, TResult>, MemoizationOptions)
Memoizes the specified function
without keeping the function argument alive by the memoization cache.
Declaration
IMemoizedDelegate<Func<T, TResult>> MemoizeWeak<T, TResult>(Func<T, TResult> function, MemoizationOptions options)
where T : class
Parameters
Type |
Name |
Description |
System.Func<T, TResult> |
function |
The function to memoize.
|
MemoizationOptions |
options |
Flags to influence the memoization behavior.
|
Returns
Type |
Description |
IMemoizedDelegate<System.Func<T, TResult>> |
A memoized delegate containing the memoized function and providing access to the memoization cache.
|
Type Parameters
Name |
Description |
T |
Type of the function argument. This type has to be a reference type.
|
TResult |
Type of the function result.
|
Extension Methods
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>(IWeakMemoizer, Func<T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15, T16, TResult>, MemoizationOptions)