IDA C++ SDK 9.2
Loading...
Searching...
No Matches
ivlset_t Class Reference

Set of intervals. More...

#include <hexrays.hpp>

Public Types

typedef qvector< ivl_tbag_t
typedef bag_t::iterator iterator
typedef bag_t::const_iterator const_iterator

Public Member Functions

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

Protected Member Functions

bool verify () const

Static Protected Member Functions

static bool ivl_all_values (const ivl_t &ivl)

Protected Attributes

bag_t bag

Detailed Description

Set of 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.

Member Typedef Documentation

◆ bag_t

◆ iterator

◆ const_iterator

Constructor & Destructor Documentation

◆ ivlset_t() [1/2]

ivlset_t::ivlset_t ( )
inline

◆ ivlset_t() [2/2]

ivlset_t::ivlset_t ( const ivl_t & ivl)
inline

Member Function Documentation

◆ verify()

bool ivlset_t::verify ( ) const
protected

◆ ivl_all_values()

bool ivlset_t::ivl_all_values ( const ivl_t & ivl)
inlinestaticprotected

◆ DEFINE_MEMORY_ALLOCATION_FUNCS()

ivlset_t::DEFINE_MEMORY_ALLOCATION_FUNCS ( ) &
inline

◆ getivl()

const ivl_t & ivlset_t::getivl ( int idx) const
inline

◆ lastivl()

const ivl_t & ivlset_t::lastivl ( ) const
inline

◆ nivls()

size_t ivlset_t::nivls ( ) const
inline

◆ empty()

bool ivlset_t::empty ( ) const
inline

◆ clear()

void ivlset_t::clear ( )
inline

◆ qclear()

void ivlset_t::qclear ( )
inline

◆ all_values()

bool ivlset_t::all_values ( ) const
inline

◆ set_all_values()

void ivlset_t::set_all_values ( )
inline

◆ single_value() [1/2]

bool ivlset_t::single_value ( ) const
inline

◆ single_value() [2/2]

bool ivlset_t::single_value ( uint64 v) const
inline

◆ add() [1/3]

bool ivlset_t::add ( const ivl_t & ivl)
inline

◆ add() [2/3]

bool ivlset_t::add ( ea_t ea,
asize_t size )
inline

◆ add() [3/3]

bool ivlset_t::add ( const ivlset_t & ivs)
inline

◆ addmasked()

bool ivlset_t::addmasked ( const ivlset_t & ivs,
const ivl_t & mask )
inline

◆ sub() [1/3]

bool ivlset_t::sub ( const ivl_t & ivl)
inline

◆ sub() [2/3]

bool ivlset_t::sub ( ea_t ea,
asize_t size )
inline

◆ sub() [3/3]

bool ivlset_t::sub ( const ivlset_t & ivs)
inline

◆ count()

asize_t ivlset_t::count ( ) const
inline

◆ has_common() [1/2]

bool ivlset_t::has_common ( const ivlset_t & ivs) const
inline

◆ has_common() [2/2]

bool ivlset_t::has_common ( const ivl_t & ivl,
bool strict = false ) const
inline

◆ contains()

bool ivlset_t::contains ( uint64 off) const
inline

◆ includes()

bool ivlset_t::includes ( const ivlset_t & ivs) const
inline

◆ intersect()

bool ivlset_t::intersect ( const ivlset_t & ivs)
inline

◆ is_subset_of()

bool ivlset_t::is_subset_of ( const ivlset_t & ivs) const
inline

◆ DECLARE_COMPARISONS()

ivlset_t::DECLARE_COMPARISONS ( ivlset_t )

◆ operator==()

bool ivlset_t::operator== ( const ivl_t & v) const
inline

◆ operator!=()

bool ivlset_t::operator!= ( const ivl_t & v) const
inline

◆ begin() [1/2]

const_iterator ivlset_t::begin ( ) const
inline

◆ end() [1/2]

const_iterator ivlset_t::end ( ) const
inline

◆ begin() [2/2]

iterator ivlset_t::begin ( )
inline

◆ end() [2/2]

iterator ivlset_t::end ( )
inline

◆ print()

void ivlset_t::print ( qstring * vout) const
inline

◆ dstr()

const char * ivlset_t::dstr ( ) const
inline

Member Data Documentation

◆ bag

bag_t ivlset_t::bag
protected

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