IDA SDK
|
Class to enumerate all function instructions and data sorted by addresses.
The function entry chunk items are enumerated first regardless of their addresses
Sample code:
If 'ea' is not specified in the call to set(), then the enumeration starts at the function entry point. If 'pfn' is specified as nullptr then the set() function will fail, but it is still possible to use the class. In this case the iteration will be limited by the segment boundaries. It is also possible to enumerate addresses in an arbitrary range using set_range().
Public Member Functions | |
func_item_iterator_t (func_t *pfn, ea_t _ea=BADADDR) | |
bool | set (func_t *pfn, ea_t _ea=BADADDR) |
Set a function range. if pfn == nullptr then a segment range will be set. | |
bool | set_range (ea_t ea1, ea_t ea2) |
Set an arbitrary range. | |
bool | first (void) |
bool | last (void) |
ea_t | current (void) const |
bool | set_ea (ea_t _ea) |
const range_t & | chunk (void) const |
bool | next (testf_t *func, void *ud) |
bool | prev (testf_t *func, void *ud) |
bool | next_addr (void) |
bool | next_head (void) |
bool | next_code (void) |
bool | next_data (void) |
bool | next_not_tail (void) |
bool | prev_addr (void) |
bool | prev_head (void) |
bool | prev_code (void) |
bool | prev_data (void) |
bool | prev_not_tail (void) |
bool | decode_prev_insn (insn_t *out) |
bool | decode_preceding_insn (eavec_t *visited, bool *p_farref, insn_t *out) |
bool | succ (testf_t *func, void *ud) |
Similar to next(), but succ() iterates the chunks from low to high addresses, while next() iterates through chunks starting at the function entry chunk. | |
bool | succ_code (void) |