Package ghidra.program.database.map
Class AddressIndexKeyIterator
java.lang.Object
ghidra.program.database.map.AddressIndexKeyIterator
- All Implemented Interfaces:
DBLongIterator
Iterator of indexed fields that are addresses. The longs returned are the address longs.
-
Constructor Summary
ConstructorDescriptionEmpty iterator.AddressIndexKeyIterator
(Table table, int indexCol, AddressMap addrMap, boolean atStart) Constructs a new AddressIndexKeyIterator.AddressIndexKeyIterator
(Table table, int indexCol, AddressMap addrMap, boolean absolute, AddressSetView set, boolean atStart) Constructs a new AddressIndexKeyIterator for a set of addressesAddressIndexKeyIterator
(Table table, int indexCol, AddressMap addrMap, Address start, boolean before) Constructs a new AddressIndexKeyIterator starting at a given address.AddressIndexKeyIterator
(Table table, int indexCol, AddressMap addrMap, Address minAddr, Address maxAddr, boolean atStart) Constructs a new AddressIndexKeyIterator for a range of addresses.AddressIndexKeyIterator
(Table table, int indexCol, AddressMap addrMap, AddressSetView set, boolean atStart) Constructs a new AddressIndexKeyIterator for a set of addresses. -
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.
-
Constructor Details
-
AddressIndexKeyIterator
public AddressIndexKeyIterator()Empty iterator. -
AddressIndexKeyIterator
public AddressIndexKeyIterator(Table table, int indexCol, AddressMap addrMap, boolean atStart) throws IOException Constructs a new AddressIndexKeyIterator. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table containing indexed addresses.indexCol
- the column that contains indexed addresses.addrMap
- the address mapatStart
- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException
- if a database io error occurs.
-
AddressIndexKeyIterator
public AddressIndexKeyIterator(Table table, int indexCol, AddressMap addrMap, Address minAddr, Address maxAddr, boolean atStart) throws IOException Constructs a new AddressIndexKeyIterator for a range of addresses. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table containing indexed addresses.indexCol
- the column that contains indexed addresses.addrMap
- the address mapminAddr
- the first address in the range to iterate over.maxAddr
- the last address in the range to iterator over.atStart
- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException
- if a database io error occurs.
-
AddressIndexKeyIterator
public AddressIndexKeyIterator(Table table, int indexCol, AddressMap addrMap, AddressSetView set, boolean atStart) throws IOException Constructs a new AddressIndexKeyIterator for a set of addresses. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table containing indexed addresses.indexCol
- the column that contains indexed addresses.addrMap
- the address mapset
- the set of addresses to iterator over.atStart
- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException
- if a database io error occurs.
-
AddressIndexKeyIterator
public AddressIndexKeyIterator(Table table, int indexCol, AddressMap addrMap, boolean absolute, AddressSetView set, boolean atStart) throws IOException Constructs a new AddressIndexKeyIterator for a set of addresses- Parameters:
table
- the database table containing indexed addresses.indexCol
- the column that contains indexed addresses.addrMap
- the address mapabsolute
- if true, only absolute memory address encodings are considered, otherwise only standard/relocatable address encodings are considered.set
- the set of addresses to iterator over or null for all addresses.atStart
- if true, iterates forward, otherwise iterates backwards.- Throws:
IOException
- if a database io error occurs.
-
AddressIndexKeyIterator
public AddressIndexKeyIterator(Table table, int indexCol, AddressMap addrMap, Address start, boolean before) throws IOException Constructs a new AddressIndexKeyIterator starting at a given address. Memory addresses encoded as Absolute are not included.- Parameters:
table
- the database table containing indexed addresses.indexCol
- the column that contains indexed addresses.addrMap
- the address mapstart
- the starting address for the iterator.before
- if true, positions the iterator before start, otherwise positions it after start.- Throws:
IOException
- if a database io 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:
-