Latest available version: IDA and decompilers v8.4.240215 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)
void clear (void)
 See free_idcv()
idc_value_toperator= (const idc_value_t &r)
 Assign this value to an existing value.
qstringqstr (void)
const qstringqstr (void) const
const char * c_str (void) const
const ucharu_str (void) const
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.

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)

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
   fpvalue_t   e
   idc_object_t *   obj
   int   funcidx
   void *   pvoid
   int64   i64
   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: