Package ghidra.program.database.map
Class AddressKeyIterator
java.lang.Object
ghidra.program.database.map.AddressKeyIterator
- All Implemented Interfaces:
DBLongIterator
Iterator of primary keys that are addresses. The longs returned are the address longs.
-
Field Summary
-
Constructor Summary
ConstructorDescriptionAddressKeyIterator
(Table table, AddressMap addrMap, boolean before) Constructs new AddressKeyIterator that iterates over all addresses.AddressKeyIterator
(Table table, AddressMap addrMap, Address startAddr, boolean before) Constructs new AddressKeyIterator that iterates overal all addresses and is initially positioned at startAddr.AddressKeyIterator
(Table table, AddressMap addrMap, Address minAddr, Address maxAddr, Address startAddr, boolean before) Constructs new AddressKeyIterator that iterates over an address range.AddressKeyIterator
(Table table, AddressMap addrMap, AddressSetView set, Address startAddr, boolean before) Constructs new AddressKeyIterator to iterate over an address set. -
Method Summary
Modifier and TypeMethodDescriptionboolean
delete()
Delete the last record(s) associated with the last value read via the next or previous methods.boolean
hasNext()
Return true if a value is available in the forward direction.boolean
Return true if a value is available in the reverse directionlong
next()
Return the next long value.long
previous()
Return the previous long value.
-
Field Details
-
EMPTY_ITERATOR
-
-
Constructor Details
-
AddressKeyIterator
Constructs new AddressKeyIterator that iterates over all addresses. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table key by addressesaddrMap
- the address mapbefore
- positions the iterator before the min value,otherwise after the max value.- Throws:
IOException
- if a database error occurs.
-
AddressKeyIterator
public AddressKeyIterator(Table table, AddressMap addrMap, Address startAddr, boolean before) throws IOException Constructs new AddressKeyIterator that iterates overal all addresses and is initially positioned at startAddr. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table key by addressesaddrMap
- the address mapstartAddr
- the address at which to position the iterator.before
- positions the iterator before the start address,otherwise after the start address. If the start address is null, then before positions the iterator before the lowest address, !before positions the iterater after the largest address.- Throws:
IOException
- if a database error occurs.
-
AddressKeyIterator
public AddressKeyIterator(Table table, AddressMap addrMap, Address minAddr, Address maxAddr, Address startAddr, boolean before) throws IOException Constructs new AddressKeyIterator that iterates over an address range. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table key by addressesaddrMap
- the address mapminAddr
- the first address in the range.maxAddr
- the last address in the range.startAddr
- the address at which to position the iterator, can be null. The exact position of the iterator depends on the before parameter.before
- positions the iterator before the start address,otherwise after the start address. If the start address is null, then before positions the iterator before the lowest address, !before positions the iterater after the largest address.- Throws:
IOException
- if a database error occurs.
-
AddressKeyIterator
public AddressKeyIterator(Table table, AddressMap addrMap, AddressSetView set, Address startAddr, boolean before) throws IOException Constructs new AddressKeyIterator to iterate over an address set. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table key by addressesaddrMap
- the address mapset
- the address set to iterator over (may be null for all defined memory)startAddr
- the address at which to position the iterator, can be null. The exact position of the iterator depends on the before parameter.before
- positions the iterator before the start address,otherwise after the start address. If the start address is null, then before positions the iterator before the lowest address, !before positions the iterater after the largest address.- Throws:
IOException
- if a database error occurs.
-
-
Method Details
-
hasNext
Description copied from interface:DBLongIterator
Return true if a value is available in the forward direction.- Specified by:
hasNext
in interfaceDBLongIterator
- Throws:
IOException
- thrown if an IO error occurs- See Also:
-
hasPrevious
Description copied from interface:DBLongIterator
Return true if a value is available in the reverse direction- Specified by:
hasPrevious
in interfaceDBLongIterator
- Throws:
IOException
- thrown if an IO error occurs- See Also:
-
next
Description copied from interface:DBLongIterator
Return the next long value.- Specified by:
next
in interfaceDBLongIterator
- Throws:
IOException
- thrown if an IO error occurs- See Also:
-
previous
Description copied from interface:DBLongIterator
Return the previous long value.- Specified by:
previous
in interfaceDBLongIterator
- Throws:
IOException
- thrown if an IO error occurs- See Also:
-
delete
Description copied from interface:DBLongIterator
Delete the last record(s) associated with the last value read via the next or previous methods.- Specified by:
delete
in interfaceDBLongIterator
- Returns:
- true if record(s) was successfully deleted.
- Throws:
IOException
- thrown if an IO error occurs.- See Also:
-