Package ghidra.program.model.block

# Class SimpleBlockIterator

java.lang.Object
ghidra.program.model.block.SimpleBlockIterator

All Implemented Interfaces:
  `CodeBlockIterator`, `Iterable<CodeBlock>`

public class SimpleBlockIterator extends Object implements CodeBlockIterator
`SimpleBlockIterator` is an implementation of `CodeBlockIterator` capable of iterating in the forward direction over "simple blocks".

See Also:
  - `SimpleBlockModel`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `SimpleBlockIterator(SimpleBlockModel model, AddressSetView set, TaskMonitor monitor)`
  Creates a new iterator that will iterate over the program within a given address range set.
  `SimpleBlockIterator(SimpleBlockModel model, TaskMonitor monitor)`
  Creates a new iterator that will iterate over the entire program starting from its current minimum address.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `hasNext()`
  Return true if next() will return a CodeBlock.
  `CodeBlock`
  `next()`
  Return the next CodeBlock.

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

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

  ### Methods inherited from interface ghidra.program.model.block.CodeBlockIterator

  `iterator`

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

  `forEach, spliterator`

- ## Constructor Details

  - ### SimpleBlockIterator

    public SimpleBlockIterator(SimpleBlockModel model, TaskMonitor monitor) throws CancelledException
    Creates a new iterator that will iterate over the entire program starting from its current minimum address.

    Parameters:
      `model` - the BlockModel the iterator will use in its operations.
      `monitor` - task monitor which allows user to cancel operation.
    Throws:
      `CancelledException` - if the monitor cancels the operation.

  - ### SimpleBlockIterator

    public SimpleBlockIterator(SimpleBlockModel model, AddressSetView set, TaskMonitor monitor) throws CancelledException
    Creates a new iterator that will iterate over the program within a given address range set. All blocks which overlap the address set will be returned.

    Parameters:
      `model` - the BlockModel the iterator will use in its operations.
      `set` - the address range set which the iterator is to be restricted to.
      `monitor` - task monitor which allows user to cancel operation.
    Throws:
      `CancelledException` - if the monitor cancels the operation.

- ## Method Details

  - ### hasNext

    public boolean hasNext() throws CancelledException
    Description copied from interface: `CodeBlockIterator`
    Return true if next() will return a CodeBlock.
    Specified by:
      `hasNext` in interface `CodeBlockIterator`
    Returns:
      true if next() will return a CodeBlock.
    Throws:
      `CancelledException` - thrown if the operation is cancelled.
    See Also:
      - `CodeBlockIterator.hasNext()`

  - ### next

    public CodeBlock next() throws CancelledException
    Description copied from interface: `CodeBlockIterator`
    Return the next CodeBlock.
    Specified by:
      `next` in interface `CodeBlockIterator`
    Returns:
      the next CodeBlock.
    Throws:
      `CancelledException` - thrown if the operation is cancelled.
    See Also:
      - `CodeBlockIterator.next()`