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

Public Member Functions

 valrng_t (int size_=MAX_VLR_SIZE)
 
 valrng_t (const valrng_t &r)
 
valrng_toperator= (const valrng_t &r)
 
void swap (valrng_t &r)
 
 DECLARE_COMPARISONS (valrng_t)
 
void set_none (void)
 
void set_all (void)
 
void set_unk (void)
 
void set_eq (uvlr_t v)
 
void set_cmp (cmpop_t cmp, uvlr_t _value)
 
bool reduce_size (int new_size)
 
bool intersect_with (const valrng_t &r)
 
bool unite_with (const valrng_t &r)
 
void inverse ()
 
bool empty (void) const
 
bool all_values (void) const
 
bool is_unknown (void) const
 
bool has (uvlr_t v) const
 
void print (qstring *vout) const
 
const char * dstr (void) const
 
bool cvt_to_single_value (uvlr_t *v) const
 
bool cvt_to_cmp (cmpop_t *cmp, uvlr_t *val, bool strict) const
 
int get_size () const
 
uvlr_t max_value () const
 
uvlr_t min_svalue () const
 
uvlr_t max_svalue () const
 

Static Public Member Functions

static uvlr_t max_value (int size_)
 
static uvlr_t min_svalue (int size_)
 
static uvlr_t max_svalue (int size_)
 

Protected Member Functions

void clear (void)
 
void copy (const valrng_t &r)
 
valrng_tassign (const valrng_t &r)
 

Protected Attributes

int flags
 
int size
 
union {
   struct {
      uvlr_t   value
 
      uvlr_t   limit
 
      svlr_t   stride
 
   } 
 
   struct {
      uvlr_t   zeroes
 
      uvlr_t   ones
 
   } 
 
   char   reserved [sizeof(qvector< int >)]
 
}; 
 

Detailed Description

Examples
hexrays_sample15.cpp, and hexrays_sample18.cpp.

Definition at line 335 of file hexrays.hpp.

Constructor & Destructor Documentation

◆ valrng_t() [1/2]

valrng_t::valrng_t ( int  size_ = MAX_VLR_SIZE)
explicit

Definition at line 377 of file hexrays.hpp.

◆ valrng_t() [2/2]

valrng_t::valrng_t ( const valrng_t r)

Definition at line 379 of file hexrays.hpp.

◆ ~valrng_t()

valrng_t::~valrng_t ( void  )

Definition at line 380 of file hexrays.hpp.

Member Function Documentation

◆ all_values()

bool valrng_t::all_values ( void  ) const

Definition at line 408 of file hexrays.hpp.

◆ assign()

valrng_t & valrng_t::assign ( const valrng_t r)
protected

Definition at line 9669 of file hexrays.hpp.

◆ clear()

void valrng_t::clear ( void  )
protected

Definition at line 9657 of file hexrays.hpp.

◆ copy()

void valrng_t::copy ( const valrng_t r)
protected

Definition at line 9663 of file hexrays.hpp.

◆ cvt_to_cmp()

bool valrng_t::cvt_to_cmp ( cmpop_t *  cmp,
uvlr_t *  val,
bool  strict 
) const

Definition at line 9741 of file hexrays.hpp.

◆ cvt_to_single_value()

bool valrng_t::cvt_to_single_value ( uvlr_t *  v) const

Definition at line 9735 of file hexrays.hpp.

◆ dstr()

const char * valrng_t::dstr ( void  ) const

Definition at line 9729 of file hexrays.hpp.

◆ empty()

bool valrng_t::empty ( void  ) const

Definition at line 407 of file hexrays.hpp.

◆ get_size()

int valrng_t::get_size ( ) const

Definition at line 418 of file hexrays.hpp.

◆ has()

bool valrng_t::has ( uvlr_t  v) const

Definition at line 9717 of file hexrays.hpp.

◆ intersect_with()

bool valrng_t::intersect_with ( const valrng_t r)

Definition at line 9699 of file hexrays.hpp.

◆ inverse()

void valrng_t::inverse ( void  )

Definition at line 9711 of file hexrays.hpp.

◆ is_unknown()

bool valrng_t::is_unknown ( void  ) const

Definition at line 409 of file hexrays.hpp.

◆ max_svalue() [1/2]

uvlr_t valrng_t::max_svalue ( ) const

Definition at line 439 of file hexrays.hpp.

◆ max_svalue() [2/2]

static uvlr_t valrng_t::max_svalue ( int  size_)
static

Definition at line 431 of file hexrays.hpp.

◆ max_value() [1/2]

uvlr_t valrng_t::max_value ( ) const

Definition at line 437 of file hexrays.hpp.

◆ max_value() [2/2]

static uvlr_t valrng_t::max_value ( int  size_)
static

Definition at line 419 of file hexrays.hpp.

◆ min_svalue() [1/2]

uvlr_t valrng_t::min_svalue ( ) const

Definition at line 438 of file hexrays.hpp.

◆ min_svalue() [2/2]

static uvlr_t valrng_t::min_svalue ( int  size_)
static

Definition at line 425 of file hexrays.hpp.

◆ operator=()

valrng_t & valrng_t::operator= ( const valrng_t r)

Definition at line 381 of file hexrays.hpp.

◆ print()

void valrng_t::print ( qstring *  vout) const
Examples
hexrays_sample15.cpp.

Definition at line 9723 of file hexrays.hpp.

◆ reduce_size()

bool valrng_t::reduce_size ( int  new_size)

Definition at line 9693 of file hexrays.hpp.

◆ set_all()

void valrng_t::set_all ( void  )

Definition at line 387 of file hexrays.hpp.

◆ set_cmp()

void valrng_t::set_cmp ( cmpop_t  cmp,
uvlr_t  _value 
)

Definition at line 9687 of file hexrays.hpp.

◆ set_eq()

void valrng_t::set_eq ( uvlr_t  v)

Definition at line 9681 of file hexrays.hpp.

◆ set_none()

void valrng_t::set_none ( void  )

Definition at line 386 of file hexrays.hpp.

◆ set_unk()

void valrng_t::set_unk ( void  )

Definition at line 388 of file hexrays.hpp.

◆ swap()

void valrng_t::swap ( valrng_t r)

Definition at line 382 of file hexrays.hpp.

◆ unite_with()

bool valrng_t::unite_with ( const valrng_t r)

Definition at line 9705 of file hexrays.hpp.

Member Data Documentation

◆ flags

int valrng_t::flags
protected

Definition at line 338 of file hexrays.hpp.

◆ limit

uvlr_t valrng_t::limit

Definition at line 360 of file hexrays.hpp.

◆ ones

uvlr_t valrng_t::ones

Definition at line 367 of file hexrays.hpp.

◆ reserved

char valrng_t::reserved[sizeof(qvector< int >)]

Definition at line 369 of file hexrays.hpp.

◆ size

int valrng_t::size
protected

Definition at line 352 of file hexrays.hpp.

◆ stride

svlr_t valrng_t::stride

Definition at line 362 of file hexrays.hpp.

◆ value

uvlr_t valrng_t::value

Definition at line 359 of file hexrays.hpp.

◆ zeroes

uvlr_t valrng_t::zeroes

Definition at line 366 of file hexrays.hpp.