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

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 set_all ()
 
void set_unk ()
 
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 () const
 
bool all_values () const
 
bool is_unknown () const
 
bool has (uvlr_t v) const
 
void print (qstring *vout) const
 
const char * dstr () 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 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 326 of file hexrays.hpp.

Constructor & Destructor Documentation

◆ valrng_t() [1/2]

valrng_t::valrng_t ( int  size_ = MAX_VLR_SIZE)
explicit

Definition at line 368 of file hexrays.hpp.

◆ valrng_t() [2/2]

valrng_t::valrng_t ( const valrng_t r)

Definition at line 370 of file hexrays.hpp.

◆ ~valrng_t()

valrng_t::~valrng_t ( )

Definition at line 371 of file hexrays.hpp.

Member Function Documentation

◆ all_values()

bool valrng_t::all_values ( ) const

Definition at line 399 of file hexrays.hpp.

◆ assign()

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

Definition at line 9722 of file hexrays.hpp.

◆ clear()

void valrng_t::clear ( )
protected

Definition at line 9710 of file hexrays.hpp.

◆ copy()

void valrng_t::copy ( const valrng_t r)
protected

Definition at line 9716 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 9794 of file hexrays.hpp.

◆ cvt_to_single_value()

bool valrng_t::cvt_to_single_value ( uvlr_t *  v) const

Definition at line 9788 of file hexrays.hpp.

◆ dstr()

const char * valrng_t::dstr ( ) const

Definition at line 9782 of file hexrays.hpp.

◆ empty()

bool valrng_t::empty ( ) const

Definition at line 398 of file hexrays.hpp.

◆ get_size()

int valrng_t::get_size ( ) const

Definition at line 409 of file hexrays.hpp.

◆ has()

bool valrng_t::has ( uvlr_t  v) const

Definition at line 9770 of file hexrays.hpp.

◆ intersect_with()

bool valrng_t::intersect_with ( const valrng_t r)

Definition at line 9752 of file hexrays.hpp.

◆ inverse()

void valrng_t::inverse ( )

Definition at line 9764 of file hexrays.hpp.

◆ is_unknown()

bool valrng_t::is_unknown ( ) const

Definition at line 400 of file hexrays.hpp.

◆ max_svalue() [1/2]

uvlr_t valrng_t::max_svalue ( ) const

Definition at line 430 of file hexrays.hpp.

◆ max_svalue() [2/2]

static uvlr_t valrng_t::max_svalue ( int  size_)
static

Definition at line 422 of file hexrays.hpp.

◆ max_value() [1/2]

uvlr_t valrng_t::max_value ( ) const

Definition at line 428 of file hexrays.hpp.

◆ max_value() [2/2]

static uvlr_t valrng_t::max_value ( int  size_)
static

Definition at line 410 of file hexrays.hpp.

◆ min_svalue() [1/2]

uvlr_t valrng_t::min_svalue ( ) const

Definition at line 429 of file hexrays.hpp.

◆ min_svalue() [2/2]

static uvlr_t valrng_t::min_svalue ( int  size_)
static

Definition at line 416 of file hexrays.hpp.

◆ operator=()

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

Definition at line 372 of file hexrays.hpp.

◆ print()

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

Definition at line 9776 of file hexrays.hpp.

◆ reduce_size()

bool valrng_t::reduce_size ( int  new_size)

Definition at line 9746 of file hexrays.hpp.

◆ set_all()

void valrng_t::set_all ( )

Definition at line 378 of file hexrays.hpp.

◆ set_cmp()

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

Definition at line 9740 of file hexrays.hpp.

◆ set_eq()

void valrng_t::set_eq ( uvlr_t  v)

Definition at line 9734 of file hexrays.hpp.

◆ set_none()

void valrng_t::set_none ( )

Definition at line 377 of file hexrays.hpp.

◆ set_unk()

void valrng_t::set_unk ( )

Definition at line 379 of file hexrays.hpp.

◆ swap()

void valrng_t::swap ( valrng_t r)

Definition at line 373 of file hexrays.hpp.

◆ unite_with()

bool valrng_t::unite_with ( const valrng_t r)

Definition at line 9758 of file hexrays.hpp.

Member Data Documentation

◆ flags

int valrng_t::flags
protected

Definition at line 329 of file hexrays.hpp.

◆ limit

uvlr_t valrng_t::limit

Definition at line 351 of file hexrays.hpp.

◆ ones

uvlr_t valrng_t::ones

Definition at line 358 of file hexrays.hpp.

◆ reserved

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

Definition at line 360 of file hexrays.hpp.

◆ size

int valrng_t::size
protected

Definition at line 343 of file hexrays.hpp.

◆ stride

svlr_t valrng_t::stride

Definition at line 353 of file hexrays.hpp.

◆ value

uvlr_t valrng_t::value

Definition at line 350 of file hexrays.hpp.

◆ zeroes

uvlr_t valrng_t::zeroes

Definition at line 357 of file hexrays.hpp.