State-of-the-art binary code analysis tools

Detailed Description

Base class for an range.

This class is used as a base class for a class with real information - see segment.hpp for example. The end address points beyond the range.

Inherited by func_t, hidden_range_t, memory_info_t, qbasic_block_t, regvar_t, scattered_segm_t, segment_t, and sreg_range_t.

Public Attributes

ea_t start_ea
 start_ea included
 
ea_t end_ea
 end_ea excluded
 

Public Member Functions

 range_t (void)
 Constructor.
 
 range_t (ea_t ea1, ea_t ea2)
 Constructor.
 
int compare (const range_t &r) const
 Compare two range_t instances, based on the start_ea.
 
bool operator== (const range_t &r) const
 Compare two range_t's with '=='.
 
bool operator != (const range_t &r) const
 Compare two range_t's with '!='.
 
bool operator > (const range_t &r) const
 Compare two range_t's with '<'.
 
bool operator< (const range_t &r) const
 Compare two range_t's with '>'.
 
bool contains (ea_t ea) const
 Is 'ea' in the address range?
 
bool contains (const range_t &r) const
 Is every ea in 'r' also in this range_t?
 
bool overlaps (const range_t &r) const
 Is there an ea in 'r' that is also in this range_t?
 
void clear (void)
 Set start_ea, end_ea to 0.
 
bool empty (void) const
 Is the size of the range_t <= 0?
 
asize_t size (void) const
 Get end_ea - start_ea.
 
void intersect (const range_t &r)
 Assign the range_t to the intersection between the range_t and 'r'.
 
void extend (ea_t ea)
 Ensure that the range_t includes 'ea'.
 
size_t print (char *buf, size_t bufsize) const
 Print the range_t. More...
 

Friends

size_t ida_export range_t_print (const range_t *cb, char *buf, size_t bufsize)
 Helper function. Should not be called directly!
 

Member Function Documentation

◆ print()

size_t range_t::print ( char *  buf,
size_t  bufsize 
) const
inline

Print the range_t.

Parameters
bufthe output buffer
bufsizethe size of the buffer

The documentation for this struct was generated from the following file: