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
ConstructorsConstructorDescriptionEmpty 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 TypeMethodDescriptionbooleandelete()Delete the last record(s) associated with the last value read via the next or previous methods.booleanhasNext()Return true if a value is available in the forward direction.booleanReturn true if a value is available in the reverse directionlongnext()Return the next long value.longprevious()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:DBLongIteratorReturn true if a value is available in the forward direction.- Specified by:
hasNextin interfaceDBLongIterator- Throws:
IOException- thrown if an IO error occurs- See Also:
-
hasPrevious
Description copied from interface:DBLongIteratorReturn true if a value is available in the reverse direction- Specified by:
hasPreviousin interfaceDBLongIterator- Throws:
IOException- thrown if an IO error occurs- See Also:
-
next
Description copied from interface:DBLongIteratorReturn the next long value.- Specified by:
nextin interfaceDBLongIterator- Throws:
IOException- thrown if an IO error occurs- See Also:
-
previous
Description copied from interface:DBLongIteratorReturn the previous long value.- Specified by:
previousin interfaceDBLongIterator- Throws:
IOException- thrown if an IO error occurs- See Also:
-
delete
Description copied from interface:DBLongIteratorDelete the last record(s) associated with the last value read via the next or previous methods.- Specified by:
deletein interfaceDBLongIterator- Returns:
- true if record(s) was successfully deleted.
- Throws:
IOException- thrown if an IO error occurs.- See Also:
-