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

Class to hold idc values. More...

#include <expr.hpp>

Public Member Functions

 idc_value_t (sval_t n=0)
 Create a VT_LONG value.
 
 idc_value_t (const idc_value_t &r)
 Create a $VT_LONG with an existing idc value.
 
 idc_value_t (const char *_str)
 Create a VT_STR value.
 
 idc_value_t (const qstring &_str)
 Create a VT_STR value.
 
 ~idc_value_t (void)
 Destructor.
 
void clear (void)
 See free_idcv()
 
idc_value_toperator= (const idc_value_t &r)
 Assign this value to an existing value.
 
qstringqstr (void)
 VT_STR
 
const qstringqstr (void) const
 VT_STR
 
const char * c_str (void) const
 VT_STR
 
const ucharu_str (void) const
 VT_STR
 
void swap (idc_value_t &v)
 Set this = r and v = this.
 
bool is_zero (void) const
 Does value represent the integer 0?
 
bool is_integral (void)
 Does value represent a whole number?
 
bool is_convertible (void) const
 Convertible types are VT_LONG, VT_FLOAT, VT_INT64, and VT_STR.
 
Warning

The following functions do not free the existing data! When the contents are unknown, use the functions without a leading underscore.

void _create_empty_string (void)
 
void _set_string (const qstring &_str)
 
void _set_string (const char *_str, size_t len)
 
void _set_string (const char *_str)
 
void _set_long (sval_t v)
 
void _set_pvoid (void *p)
 
void _set_int64 (int64 v)
 
void _set_float (const fpvalue_t &f)
 
Setters

These functions ensure the previous value is cleared

void create_empty_string (void)
 
void set_string (const char *_str, size_t len)
 
void set_string (const char *_str)
 
void set_string (const qstring &_str)
 
void set_long (sval_t v)
 
void set_pvoid (void *p)
 
void set_int64 (int64 v)
 
void set_float (const fpvalue_t &f)
 

Public Attributes

char vtype = VT_LONG
 IDC value types
 
union {
   sval_t   num
 VT_LONG
 
   fpvalue_t   e
 VT_FLOAT
 
   idc_object_t *   obj
 
   int   funcidx
 VT_FUNC
 
   void *   pvoid
 VT_PVOID
 
   int64   i64
 VT_INT64
 
   uchar   reserve [sizeof(qstring)]
 internal housekeeping: 64-bit qstring is bigger than 12 bytes
 
}; 
 

Detailed Description

Class to hold idc values.


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