## Uses of Class
org.apache.lucene.util.fst.FST.Arc

- Packages that use FST.Arc
  Package | Description
  --- | ---
  org.apache.lucene.util.fst | Finite state transducers

- - ### Uses of FST.Arc in org.apache.lucene.util.fst

    Fields in org.apache.lucene.util.fst declared as FST.Arc
    Modifier and Type | Field | Description
    --- | --- | ---
    `FST.Arc<T>` | Util.FSTPath.`arc` | Holds the last arc appended to this path
    `protected FST.Arc<T>[]` | FSTEnum.`arcs` |
    `protected FST.Arc<T>[]` | FSTEnum.`arcs` |

    Methods in org.apache.lucene.util.fst that return FST.Arc
    Modifier and Type | Method | Description
    --- | --- | ---
    `FST.Arc<T>` | FST.Arc.`copyFrom​(FST.Arc<T> other)` | Returns this
    `FST.Arc<T>` | FST.`findTargetArc​(int labelToMatch, FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in)` | Finds an arc leaving the incoming arc, replacing the arc in place.
    `FST.Arc<T>` | FST.`getFirstArc​(FST.Arc<T> arc)` | Fills virtual 'start' arc, ie, an empty incoming arc to the FST's start node
    `FST.Arc<T>` | FST.`readArcByContinuous​(FST.Arc<T> arc, FST.BytesReader in, int rangeIndex)` | Reads a Continuous node arc, with the provided index in the label range.
    `FST.Arc<T>` | FST.`readArcByDirectAddressing​(FST.Arc<T> arc, FST.BytesReader in, int rangeIndex)` | Reads a present direct addressing node arc, with the provided index in the label range.
    `FST.Arc<T>` | FST.`readArcByIndex​(FST.Arc<T> arc, FST.BytesReader in, int idx)` |
    `static <T> FST.Arc<T>` | Util.`readCeilArc​(int label, FST<T> fst, FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in)` | Reads the first arc greater or equal than the given label into the provided arc in place and returns it iff found, otherwise return `null`.
    `FST.Arc<T>` | FST.`readFirstRealTargetArc​(long nodeAddress, FST.Arc<T> arc, FST.BytesReader in)` |
    `FST.Arc<T>` | FST.`readFirstTargetArc​(FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in)` | Follow the `follow` arc and read the first arc of its target; this changes the provided `arc` (2nd arg) in-place and returns it.
    `FST.Arc<T>` | FST.`readLastArcByContinuous​(FST.Arc<T> arc, FST.BytesReader in)` | Reads the last arc of a continuous node.
    `FST.Arc<T>` | FST.`readLastArcByDirectAddressing​(FST.Arc<T> arc, FST.BytesReader in)` | Reads the last arc of a direct addressing node.
    `FST.Arc<T>` | FST.`readNextArc​(FST.Arc<T> arc, FST.BytesReader in)` | In-place read; returns the arc.
    `FST.Arc<T>` | FST.`readNextRealArc​(FST.Arc<T> arc, FST.BytesReader in)` | Never returns null, but you should never call this if arc.isLast() is true.

    Methods in org.apache.lucene.util.fst with parameters of type FST.Arc
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | Util.TopNSearcher.`addStartPaths​(FST.Arc<T> node, T startOutput, boolean allowEmptyString, IntsRefBuilder input)` |
    `void` | Util.TopNSearcher.`addStartPaths​(FST.Arc<T> node, T startOutput, boolean allowEmptyString, IntsRefBuilder input, float boost, CharSequence context, int payload)` | Adds all leaving arcs, including 'finished' arc, if the node is final, from this node into the queue.
    `FST.Arc<T>` | FST.Arc.`copyFrom​(FST.Arc<T> other)` | Returns this
    `FST.Arc<T>` | FST.`findTargetArc​(int labelToMatch, FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in)` | Finds an arc leaving the incoming arc, replacing the arc in place.
    `FST.Arc<T>` | FST.`getFirstArc​(FST.Arc<T> arc)` | Fills virtual 'start' arc, ie, an empty incoming arc to the FST's start node
    `FST.Arc<T>` | FST.`readArcByContinuous​(FST.Arc<T> arc, FST.BytesReader in, int rangeIndex)` | Reads a Continuous node arc, with the provided index in the label range.
    `FST.Arc<T>` | FST.`readArcByDirectAddressing​(FST.Arc<T> arc, FST.BytesReader in, int rangeIndex)` | Reads a present direct addressing node arc, with the provided index in the label range.
    `FST.Arc<T>` | FST.`readArcByIndex​(FST.Arc<T> arc, FST.BytesReader in, int idx)` |
    `static <T> FST.Arc<T>` | Util.`readCeilArc​(int label, FST<T> fst, FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in)` | Reads the first arc greater or equal than the given label into the provided arc in place and returns it iff found, otherwise return `null`.
    `FST.Arc<T>` | FST.`readFirstRealTargetArc​(long nodeAddress, FST.Arc<T> arc, FST.BytesReader in)` |
    `FST.Arc<T>` | FST.`readFirstTargetArc​(FST.Arc<T> follow, FST.Arc<T> arc, FST.BytesReader in)` | Follow the `follow` arc and read the first arc of its target; this changes the provided `arc` (2nd arg) in-place and returns it.
    `FST.Arc<T>` | FST.`readLastArcByContinuous​(FST.Arc<T> arc, FST.BytesReader in)` | Reads the last arc of a continuous node.
    `FST.Arc<T>` | FST.`readLastArcByDirectAddressing​(FST.Arc<T> arc, FST.BytesReader in)` | Reads the last arc of a direct addressing node.
    `FST.Arc<T>` | FST.`readNextArc​(FST.Arc<T> arc, FST.BytesReader in)` | In-place read; returns the arc.
    `FST.Arc<T>` | FST.`readNextRealArc​(FST.Arc<T> arc, FST.BytesReader in)` | Never returns null, but you should never call this if arc.isLast() is true.
    `static <T> Util.TopResults<T>` | Util.`shortestPaths​(FST<T> fst, FST.Arc<T> fromNode, T startOutput, Comparator<T> comparator, int topN, boolean allowEmptyString)` | Starting from node, find the top N min cost completions to a final node.
    `static <T> boolean` | FST.`targetHasArcs​(FST.Arc<T> arc)` | returns true if the node at this address has any outgoing arcs