Package ghidra.program.database.code

# Class CodeUnitKeyIterator

java.lang.Object
ghidra.program.database.code.CodeUnitKeyIterator

All Implemented Interfaces:
  `CodeUnitIterator`, `Iterable<CodeUnit>`, `Iterator<CodeUnit>`

public class CodeUnitKeyIterator extends Object implements CodeUnitIterator
Converts an AddressKeyIterator into a CodeUnitIterator

- ## Field Summary

  ### Fields inherited from interface ghidra.program.model.listing.CodeUnitIterator

  `EMPTY_ITERATOR`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `CodeUnitKeyIterator(CodeManager codeMgr, AddressKeyIterator it, boolean forward)`
  Construct a new CodeUnitKeyIterator

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `hasNext()`
  Return true if there is a next CodeUnit.
  `Iterator<CodeUnit>`
  `iterator()`
  `CodeUnit`
  `next()`
  Get the next CodeUnit or null if no more CodeUnits.
  `void`
  `remove()`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface java.lang.Iterable

  `forEach, spliterator`

  ### Methods inherited from interface java.util.Iterator

  `forEachRemaining`

- ## Constructor Details

  - ### CodeUnitKeyIterator

    public CodeUnitKeyIterator(CodeManager codeMgr, AddressKeyIterator it, boolean forward)
    Construct a new CodeUnitKeyIterator
    Parameters:
      `codeMgr` - the code manager
      `it` - the addressKeyIterator
      `forward` - the direction to iterate.

- ## Method Details

  - ### remove

    public void remove()
    Specified by:
      `remove` in interface `Iterator<CodeUnit>`
    See Also:
      - `Iterator.remove()`

  - ### hasNext

    public boolean hasNext()
    Description copied from interface: `CodeUnitIterator`
    Return true if there is a next CodeUnit.
    Specified by:
      `hasNext` in interface `CodeUnitIterator`
    Specified by:
      `hasNext` in interface `Iterator<CodeUnit>`
    See Also:
      - `CodeUnitIterator.hasNext()`

  - ### next

    public CodeUnit next()
    Description copied from interface: `CodeUnitIterator`
    Get the next CodeUnit or null if no more CodeUnits.

    NOTE: This deviates from the standard `Iterator` interface by returning null instead of throwing an exception.

    Specified by:
      `next` in interface `CodeUnitIterator`
    Specified by:
      `next` in interface `Iterator<CodeUnit>`
    See Also:
      - `CodeUnitIterator.next()`

  - ### iterator

    public Iterator<CodeUnit> iterator()
    Specified by:
      `iterator` in interface `Iterable<CodeUnit>`