ivlset_t Struct Reference

Set of address intervals. More...

Inheritance diagram for ivlset_t:
ivlset_tpl< ivl_t, uval_t >

Public Types

typedef ivlset_tpl< ivl_t, uval_t > inherited
 
- Public Types inherited from ivlset_tpl< ivl_t, uval_t >
typedef bag_t::iterator iterator
 
typedef bag_t::const_iterator const_iterator
 

Public Member Functions

 ivlset_t (const ivl_t &ivl)
 
bool add (const ivl_t &ivl)
 
bool add (ea_t ea, asize_t size)
 
bool add (const ivlset_t &ivs)
 
bool addmasked (const ivlset_t &ivs, const ivl_t &mask)
 
bool sub (const ivl_t &ivl)
 
bool sub (ea_t ea, asize_t size)
 
bool sub (const ivlset_t &ivs)
 
bool has_common (const ivl_t &ivl, bool strict=false) const
 
void print (qstring *vout) const
 
const char * dstr (void) const
 
asize_t count (void) const
 
bool has_common (const ivlset_t &ivs) const
 
bool contains (uval_t off) const
 
bool includes (const ivlset_t &ivs) const
 
bool intersect (const ivlset_t &ivs)
 
 DECLARE_COMPARISONS (ivlset_t)
 
- Public Member Functions inherited from ivlset_tpl< ivl_t, uval_t >
 ivlset_tpl (const ivl_t &ivl)
 
void swap (ivlset_tpl &r)
 
bool add (const ivl_t &ivl)
 
bool add (const ivlset_tpl &ivs)
 
bool sub (const ivl_t &ivl)
 
bool sub (const ivlset_tpl &ivs)
 
bool has_common (const ivl_t &ivl, bool strict=false) const
 
bool has_common (const ivlset_tpl &ivs) const
 
uval_t count (void) const
 
const ivl_tgetivl (int idx) const
 
const ivl_tlastivl (void) const
 
size_t nivls (void) const
 
bool empty (void) const
 
void clear (void)
 
void qclear (void)
 
bool all_values () const
 
void set_all_values ()
 
bool contains (uval_t off) const
 
bool includes (const ivlset_tpl &ivs) const
 
bool intersect (const ivlset_tpl &ivs)
 
bool is_subset_of (const ivlset_tpl &ivs) const
 
bool single_value (uval_t v) const
 
int compare (const ivlset_tpl &r) const
 
bool operator== (const ivl_t &v) const
 
bool operator!= (const ivl_t &v) const
 
const_iterator begin (void) const
 
iterator begin (void)
 
const_iterator end (void) const
 
iterator end (void)
 

Additional Inherited Members

- Protected Types inherited from ivlset_tpl< ivl_t, uval_t >
typedef qvector< ivl_tbag_t
 
- Protected Member Functions inherited from ivlset_tpl< ivl_t, uval_t >
bool verify (void) const
 
- Static Protected Member Functions inherited from ivlset_tpl< ivl_t, uval_t >
static bool ivl_all_values (const ivl_t &ivl)
 
- Protected Attributes inherited from ivlset_tpl< ivl_t, uval_t >
bag_t bag
 

Detailed Description

Set of address intervals.

Bit arrays are efficient only for small sets. Potentially huge sets, like memory ranges, require another representation. ivlset_t is used for a list of memory locations in our decompiler.

Definition at line 1872 of file hexrays.hpp.