Latest available version: IDA and decompilers v8.4.240320sp1 see all releases
Hex-Rays logo State-of-the-art binary code analysis tools
email icon

Base class for an range. More...

#include <range.hpp>

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 Member Functions

 range_t (ea_t ea1=0, ea_t ea2=0)
 
bool contains (ea_t ea) const
 Compare two range_t instances, based on the start_ea. More...
 
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 ()
 Set start_ea, end_ea to 0.
 
bool empty () const
 Is the size of the range_t <= 0?
 
asize_t size () 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...
 

Public Attributes

ea_t start_ea
 start_ea included
 
ea_t end_ea
 end_ea excluded
 

Friends

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

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 is excluded, it points past the range end.

Member Function Documentation

◆ contains()

bool range_t::contains ( ea_t  ea) const
inline

Compare two range_t instances, based on the start_ea.

Is 'ea' in the address range?

◆ 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: