Show / Hide Table of Contents

Interface IWeakMemoizer

Interface for function memoizers that don't keep function arguments alive by the memoization cache.

Namespace: System.Memory
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, TResult>(IWeakMemoizer, Func<T1, T2, TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<T1, T2, T3, TResult>(IWeakMemoizer, Func<T1, T2, T3, TResult>, MemoizationOptions)
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)
FunctionMemoizationExtensions.MemoizeWeak<TResult>(IWeakMemoizer, Func<TResult>, MemoizationOptions)
FunctionMemoizationExtensions.MemoizeWeak<TDelegate>(IWeakMemoizer, TDelegate, MemoizationOptions, IMemoizer)
FunctionMemoizationExtensions.MemoizeWeak<T, TResult>(IWeakMemoizer, Func<T, TResult>, MemoizationOptions)
In This Article
Back to top Generated by DocFX