Show / Hide Table of Contents

    Class InterningCache<T>

    A cache that interns values: it maps each input value to a value that is structurally equal to the input and all structurally equal input values are mapped to the same output value as long as that output value is live.

    Inheritance
    System.Object
    InterningCache<T>
    Inherited Members
    System.Object.ToString()
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    Namespace: Flame.Collections
    Assembly: Flame.dll
    Syntax
    public sealed class InterningCache<T>
        where T : class
    Type Parameters
    Name Description
    T

    Constructors

    | Improve this Doc View Source

    InterningCache(IEqualityComparer<T>)

    Creates an interning cache from a comparer.

    Declaration
    public InterningCache(IEqualityComparer<T> comparer)
    Parameters
    Type Name Description
    System.Collections.Generic.IEqualityComparer<T> comparer

    A comparer that tests if input values are structurally equal.

    | Improve this Doc View Source

    InterningCache(IEqualityComparer<T>, Func<T, T>)

    Creates an interning cache from a comparer and an initialization function.

    Declaration
    public InterningCache(IEqualityComparer<T> comparer, Func<T, T> initialize)
    Parameters
    Type Name Description
    System.Collections.Generic.IEqualityComparer<T> comparer

    A comparer that tests if input values are structurally equal.

    System.Func<T, T> initialize

    A function that initializes output values.

    Methods

    | Improve this Doc View Source

    Intern(T)

    Interns a particular value.

    Declaration
    public T Intern(T value)
    Parameters
    Type Name Description
    T value

    An input value.

    Returns
    Type Description
    T

    A value that is structurally equal to the input value.

    • Improve this Doc
    • View Source
    Back to top Generated by DocFX