Class ListOfOutputs<T>
Wraps another Outputs implementation and encodes one or more of its output values. You can use this when a single input may need to map to more than one output, maintaining order: pass the same input with a different output by calling Add(Int32sRef, T) multiple times. The builder will then combine the outputs using the Merge(T, T) method.
The resulting FST may not be minimal when an input has more than one output, as this requires pushing all multi-output values to a final state.
NOTE: the only way to create multiple outputs is to add the same input to the FST multiple times in a row. This is how the FST maps a single input to multiple outputs (e.g. you cannot pass a List<Object> to Add(Int32sRef, T)). If your outputs are longs, and you need at most 2, then use UpToTwoPositiveInt64Outputs instead since it stores the outputs more compactly (by stealing a bit from each long value).
NOTE: this cannot wrap itself (ie you cannot make an FST with List<List<Object>> outputs using this). @lucene.experimental
Assembly: Lucene.Net.Misc.dll
Syntax
public sealed class ListOfOutputs<T> : Outputs<object>
Type Parameters
Name | Description |
---|---|
T |
Constructors
Name | Description |
---|---|
ListOfOutputs(Outputs<T>) |
Properties
Name | Description |
---|---|
NoOutput |