Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class Outputs<T>

    Represents the outputs for an FST, providing the basic algebra required for building and traversing the FST.

    Note that any operation that returns NO_OUTPUT must return the same singleton object from NoOutput.

    LUCENENET IMPORTANT: If T is a collection type, it must implement System.Collections.IStructuralEquatable in order to properly compare its nested values.

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk
    Inheritance
    System.Object
    Outputs<T>
    ByteSequenceOutputs
    CharSequenceOutputs
    Int32SequenceOutputs
    NoOutputs
    PairOutputs<A, B>
    PositiveInt32Outputs
    Inherited Members
    System.Object.Equals(System.Object)
    System.Object.Equals(System.Object, System.Object)
    System.Object.GetHashCode()
    System.Object.GetType()
    System.Object.MemberwiseClone()
    System.Object.ReferenceEquals(System.Object, System.Object)
    System.Object.ToString()
    Namespace: Lucene.Net.Util.Fst
    Assembly: Lucene.Net.dll
    Syntax
    public abstract class Outputs<T>
    Type Parameters
    Name Description
    T

    Properties

    | Improve this Doc View Source

    NoOutput

    NOTE: this output is compared with == so you must ensure that all methods return the single object if it's really no output

    Declaration
    public abstract T NoOutput { get; }
    Property Value
    Type Description
    T

    Methods

    | Improve this Doc View Source

    Add(T, T)

    Eg add("foo", "bar") -> "foobar"

    Declaration
    public abstract T Add(T prefix, T output)
    Parameters
    Type Name Description
    T prefix
    T output
    Returns
    Type Description
    T
    | Improve this Doc View Source

    Common(T, T)

    Eg common("foobar", "food") -> "foo"

    Declaration
    public abstract T Common(T output1, T output2)
    Parameters
    Type Name Description
    T output1
    T output2
    Returns
    Type Description
    T
    | Improve this Doc View Source

    Merge(T, T)

    Declaration
    public virtual T Merge(T first, T second)
    Parameters
    Type Name Description
    T first
    T second
    Returns
    Type Description
    T
    | Improve this Doc View Source

    OutputToString(T)

    Declaration
    public abstract string OutputToString(T output)
    Parameters
    Type Name Description
    T output
    Returns
    Type Description
    System.String
    | Improve this Doc View Source

    Read(DataInput)

    Decode an output value previously written with Write(T, DataOutput).

    Declaration
    public abstract T Read(DataInput in)
    Parameters
    Type Name Description
    DataInput in
    Returns
    Type Description
    T
    | Improve this Doc View Source

    ReadFinalOutput(DataInput)

    Decode an output value previously written with WriteFinalOutput(T, DataOutput). By default this just calls Read(DataInput).

    Declaration
    public virtual T ReadFinalOutput(DataInput in)
    Parameters
    Type Name Description
    DataInput in
    Returns
    Type Description
    T
    | Improve this Doc View Source

    Subtract(T, T)

    Eg subtract("foobar", "foo") -> "bar"

    Declaration
    public abstract T Subtract(T output, T inc)
    Parameters
    Type Name Description
    T output
    T inc
    Returns
    Type Description
    T
    | Improve this Doc View Source

    Write(T, DataOutput)

    Encode an output value into a DataOutput.

    Declaration
    public abstract void Write(T output, DataOutput out)
    Parameters
    Type Name Description
    T output
    DataOutput out
    | Improve this Doc View Source

    WriteFinalOutput(T, DataOutput)

    Encode an final node output value into a DataOutput. By default this just calls Write(T, DataOutput).

    Declaration
    public virtual void WriteFinalOutput(T output, DataOutput out)
    Parameters
    Type Name Description
    T output
    DataOutput out
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.