Package ghidra.program.model.address

# Class AddressRangeChunker

java.lang.Object
ghidra.program.model.address.AddressRangeChunker

All Implemented Interfaces:
  `Iterable<AddressRange>`

public class AddressRangeChunker extends Object implements Iterable<AddressRange>
A class to break a range of addresses into 'chunks' of a give size. This is useful to break-up processing of large swaths of addresses, such as when performing work in a background thread. Doing this allows the client to iterator over the range, pausing enough to allow the UI to update.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AddressRangeChunker(AddressRange range, int chunkSize)`
  `AddressRangeChunker(Address start, Address end, int chunkSize)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Iterator<AddressRange>`
  `iterator()`

  ### 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`

- ## Constructor Details

  - ### AddressRangeChunker

    public AddressRangeChunker(AddressRange range, int chunkSize) throws IllegalArgumentException
    Throws:
      `IllegalArgumentException`

  - ### AddressRangeChunker

    public AddressRangeChunker(Address start, Address end, int chunkSize) throws IllegalArgumentException
    Throws:
      `IllegalArgumentException`

- ## Method Details

  - ### iterator

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