Namespace System.Memory
Classes
Bundle
Provides a set of factory methods to create bundles of objects which are stored in a memory-efficient manner.
Cache<T>
Cache implementation for types that do not need to be deconstructed.
Cache<T, TCached, TNonCached>
Utility for deconstructing objects into cacheable and non-cacheable components and sharing the parts that are cacheable.
Cache<T, TCached1, TCached2, TNonCached>
Utility for deconstructing objects into cacheable and non-cacheable components and sharing the parts that are cacheable.
Cache<T, TCached1, TCached2, TCached3, TNonCached>
Utility for deconstructing objects into cacheable and non-cacheable components and sharing the parts that are cacheable.
Cache<T, TCached1, TCached2, TCached3, TCached4, TNonCached>
Utility for deconstructing objects into cacheable and non-cacheable components and sharing the parts that are cacheable.
CacheStorage<T>
Basic cache storage implementation.
ConcurrentMemoizationCacheFactory
Memoization cache factory for memoization caches that can be accessed concurrently.
Deconstructed
Static helpers for creating deconstructed containers.
Deconstructed<TCached, TNonCached>
A struct container for a deconstructed cached value.
Deconstructed<TCached1, TCached2, TNonCached>
A struct container for a deconstructed cached value.
Deconstructed<TCached1, TCached2, TCached3, TNonCached>
A struct container for a deconstructed cached value.
Deconstructed<TCached1, TCached2, TCached3, TCached4, TNonCached>
A struct container for a deconstructed cached value.
DiscardableBase<T>
Base implementation of cached reference including a finalizer.
FunctionMemoizationExtensions
Provides a set of extension methods for memoization of functions.
InternCache
Provides extension methods to create intern caches to reuse values.
LruCacheStorage<T>
Basic cache storage implementation.
MemoizationCacheBase
Base class for a cache to store memoization entries for a memoized function.
MemoizationCacheBase<T, TResult>
Base class for a cache to store memoization entries for a memoized function.
MemoizationCacheExtensions
Provides a set of extension methods for memoization caches.
MemoizationCacheFactory
Memoization cache factory for memoization caches that are not thread-safe.
MemoizationCacheFactoryExtensions
Extension methods for IMemoizationCacheFactory.
MemoizationOptions
Options to control memoization behavior.
Memoizer
Exposes factory methods to create function memoizers.
ObjectPool<T>
Generic implementation of object pooling pattern with predefined pool size limit. The main purpose is that a limited number of frequently used objects can be kept in the pool for further recycling.
ObjectPoolBase<T>
Base class for object pools.
PooledObject<T>
Struct holding a pooled object, exposing RAII capabilities to return the object to the pool upon disposal.
SynchronizedMemoizationCacheBase<T, TResult>
Base class for a cache to store memoization entries for a memoized function. Access to the cache gets synchronized through a lock.
Trimmable
Provides a set of methods to work with trimmable objects.
ValueOrError
Provides a set of factory methods to create objects that represent a value or an error.
ValueOrErrorKind
Enumeration indicating whether an object represents a value or an error.
WeakMemoizationCacheFactory
Memoization cache factory for memoization caches that do not keep cache keys alive.
WeakMemoizationCacheFactoryExtensions
Extension methods for IWeakMemoizationCacheFactory.
Interfaces
ICache<T>
Implementation of an object cache.
ICacheStorage<T>
Interface for reference counting storage underlying a cache.
IClearable
Represents an object that can be cleared.
IDiscardable<T>
An interface for disposable references to objects.
IFreeable
Represents an object that can be freed.
IInternCache<T>
Interface for caches used to intern reused values of the specified type.
IMemoizationCache
Interface representing a cache to store memoization entries for a memoized function.
IMemoizationCache<T, TResult>
Interface representing a cache to store memoization entries for a memoized function.
IMemoizationCacheEntryMetrics
Interface used to access metrics on memoization cache entries for ranking purposes.
IMemoizationCacheFactory
Interface for memoization cache factories.
IMemoizedDelegate<TDelegate>
Representation of a memoized delegate including a reference to the memoization cache.
IMemoizer
Interface for function memoizers.
IObjectPool<T>
Interface for object pools.
IObjectPoolAllocateFree<T>
Interface for object pools with "alloc" and "free" functions.
IObjectPoolNew<T>
Interface for object pools with a "new" operator.
IReadOnlyIndexed
Interface for indexable objects.
IReference<T>
An interface for references to objects.
ITrimmable<T>
Interface for data structures that can be trimmed.
IValueOrError<T>
Interface for objects that represent a value or an error.
IWeakInternCache<T>
Interface for caches used to intern reused values of the specified type. This type of cache support trimming of entries for values that are no longer used.
IWeakMemoizationCacheFactory
Interface for weak memoization cache factories.
IWeakMemoizer
Interface for function memoizers that don't keep function arguments alive by the memoization cache.