IDA C++ SDK 9.2
Loading...
Searching...
No Matches
udm_t Struct Reference

An object to represent struct or union members. More...

#include <typeinf.hpp>

Public Member Functions

 udm_t ()=default
 udm_t (const char *_name, const tinfo_t &_type, uint64 _offset=0)
 Create a structure/union member, with the specified name and arbitrary type.
 udm_t (const char *_name, const type_t _type, uint64 _offset=0)
 Create a structure/union member, with the specified name and simple type.
 udm_t (const char *_name, const char *_type, uint64 _offset=0)
 Create a structure/union member, with the specified name and type.
bool empty () const
bool is_bitfield () const
bool is_zero_bitfield () const
bool is_unaligned () const
bool is_baseclass () const
bool is_virtbase () const
bool is_vftable () const
bool is_method () const
bool is_gap () const
bool is_regcmt () const
bool is_retaddr () const
bool is_savregs () const
bool is_special_member () const
bool is_by_til () const
void set_unaligned (bool on=true)
void set_baseclass (bool on=true)
void set_virtbase (bool on=true)
void set_vftable (bool on=true)
void set_method (bool on=true)
void set_regcmt (bool on=true)
void set_retaddr (bool on=true)
void set_savregs (bool on=true)
void set_by_til (bool on=true)
void clr_unaligned ()
void clr_baseclass ()
void clr_virtbase ()
void clr_vftable ()
void clr_method ()
uint64 begin () const
uint64 end () const
bool operator< (const udm_t &r) const
bool operator== (const udm_t &r) const
bool compare_with (const udm_t &r, int tcflags) const
bool operator!= (const udm_t &r) const
 DEFINE_MEMORY_ALLOCATION_FUNCS () void swap(udm_t &r)
bool is_anonymous_udm () const
void set_value_repr (const value_repr_t &r)
bool can_be_dtor () const
bool can_rename () const

Public Attributes

uint64 offset = 0
 member offset in bits
uint64 size = 0
 size in bits
qstring name
 member name
qstring cmt
 member comment
tinfo_t type
 member type
value_repr_t repr
 radix, refinfo, strpath, custom_id, strtype
int effalign = 0
 effective field alignment (in bytes)
uint32 tafld_bits = 0
 TAH bits.
uchar fda = 0
 field alignment (shift amount)

Detailed Description

An object to represent struct or union members.

Constructor & Destructor Documentation

◆ udm_t() [1/4]

udm_t::udm_t ( )
default

◆ udm_t() [2/4]

udm_t::udm_t ( const char * _name,
const tinfo_t & _type,
uint64 _offset = 0 )
inline

Create a structure/union member, with the specified name and arbitrary type.

The 'size' will be set automatically.

Parameters
_nameMember name. Must not be empty.
_typeMember type. Must not be empty. Can be any valid udt member type, like a pointer, array, etc.
[in]_offsetMember offset in bits. It is the caller's responsibility to specify correct offsets.

◆ udm_t() [3/4]

udm_t::udm_t ( const char * _name,
const type_t _type,
uint64 _offset = 0 )
inline

Create a structure/union member, with the specified name and simple type.

The 'type' will be created from type_t, and the 'size' will be set automatically.

Parameters
_nameMember name. Must not be empty.
_typeMember type. Must not be empty. Can be only a simple type (integral/floating/bool).
[in]_offsetMember offset in bits. It is the caller's responsibility to specify correct offsets.

◆ udm_t() [4/4]

udm_t::udm_t ( const char * _name,
const char * _type,
uint64 _offset = 0 )
inline

Create a structure/union member, with the specified name and type.

The 'type' object will be created by parsing the '_type' type declaration, and the 'size' will be set automatically.

Parameters
_nameMember name. Must not be empty.
_typeMember type. Must not a valid C type declaration.
[in]_offsetMember offset in bits. It is the caller's responsibility to specify correct offsets.

Member Function Documentation

◆ empty()

bool udm_t::empty ( ) const
inline

◆ is_bitfield()

bool udm_t::is_bitfield ( ) const
inline

◆ is_zero_bitfield()

bool udm_t::is_zero_bitfield ( ) const
inline

◆ is_unaligned()

bool udm_t::is_unaligned ( ) const
inline

◆ is_baseclass()

bool udm_t::is_baseclass ( ) const
inline

◆ is_virtbase()

bool udm_t::is_virtbase ( ) const
inline

◆ is_vftable()

bool udm_t::is_vftable ( ) const
inline

◆ is_method()

bool udm_t::is_method ( ) const
inline

◆ is_gap()

bool udm_t::is_gap ( ) const
inline

◆ is_regcmt()

bool udm_t::is_regcmt ( ) const
inline

◆ is_retaddr()

bool udm_t::is_retaddr ( ) const
inline

◆ is_savregs()

bool udm_t::is_savregs ( ) const
inline

◆ is_special_member()

bool udm_t::is_special_member ( ) const
inline

◆ is_by_til()

bool udm_t::is_by_til ( ) const
inline

◆ set_unaligned()

void udm_t::set_unaligned ( bool on = true)
inline

◆ set_baseclass()

void udm_t::set_baseclass ( bool on = true)
inline

◆ set_virtbase()

void udm_t::set_virtbase ( bool on = true)
inline

◆ set_vftable()

void udm_t::set_vftable ( bool on = true)
inline

◆ set_method()

void udm_t::set_method ( bool on = true)
inline

◆ set_regcmt()

void udm_t::set_regcmt ( bool on = true)
inline

◆ set_retaddr()

void udm_t::set_retaddr ( bool on = true)
inline

◆ set_savregs()

void udm_t::set_savregs ( bool on = true)
inline

◆ set_by_til()

void udm_t::set_by_til ( bool on = true)
inline

◆ clr_unaligned()

void udm_t::clr_unaligned ( )
inline

◆ clr_baseclass()

void udm_t::clr_baseclass ( )
inline

◆ clr_virtbase()

void udm_t::clr_virtbase ( )
inline

◆ clr_vftable()

void udm_t::clr_vftable ( )
inline

◆ clr_method()

void udm_t::clr_method ( )
inline

◆ begin()

uint64 udm_t::begin ( ) const
inline

◆ end()

uint64 udm_t::end ( ) const
inline

◆ operator<()

bool udm_t::operator< ( const udm_t & r) const
inline

◆ operator==()

bool udm_t::operator== ( const udm_t & r) const
inline

◆ compare_with()

bool udm_t::compare_with ( const udm_t & r,
int tcflags ) const
inline

◆ operator!=()

bool udm_t::operator!= ( const udm_t & r) const
inline

◆ DEFINE_MEMORY_ALLOCATION_FUNCS()

udm_t::DEFINE_MEMORY_ALLOCATION_FUNCS ( ) &
inline

◆ is_anonymous_udm()

bool udm_t::is_anonymous_udm ( ) const
inline

◆ set_value_repr()

void udm_t::set_value_repr ( const value_repr_t & r)
inline

◆ can_be_dtor()

bool udm_t::can_be_dtor ( ) const
inline

◆ can_rename()

bool udm_t::can_rename ( ) const
inline

Member Data Documentation

◆ offset

uint64 udm_t::offset = 0

member offset in bits

◆ size

uint64 udm_t::size = 0

size in bits

◆ name

qstring udm_t::name

member name

◆ cmt

qstring udm_t::cmt

member comment

◆ type

tinfo_t udm_t::type

member type

◆ repr

value_repr_t udm_t::repr

radix, refinfo, strpath, custom_id, strtype

◆ effalign

int udm_t::effalign = 0

effective field alignment (in bytes)

◆ tafld_bits

uint32 udm_t::tafld_bits = 0

TAH bits.

◆ fda

uchar udm_t::fda = 0

field alignment (shift amount)


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