IDA SDK
Public Attributes | Public Member Functions | List of all members
udt_type_data_t Struct Reference

Detailed Description

An object to represent struct or union types (see tinfo_t::get_udt_details())

Inherits qvector< T >.

Public Attributes

size_t total_size
 total structure size in bytes
 
size_t unpadded_size
 unpadded structure size in bytes
 
uint32 effalign
 effective structure alignment (in bytes)
 
uint32 taudt_bits
 TA... and TAUDT... bits.
 
uchar sda
 declared structure alignment (shift amount+1). 0 - unspecified
 
uchar pack
 #pragma pack() alignment (shift amount)
 
bool is_union
 is union or struct?
 

Public Member Functions

void swap (udt_type_data_t &r)
 
bool is_unaligned (void) const
 
bool is_msstruct (void) const
 
bool is_cppobj (void) const
 
bool is_last_baseclass (size_t idx)
 
- Public Member Functions inherited from qvector< T >
 qvector (void)
 Constructor.
 
 qvector (const qvector< T > &x)
 Constructor - creates a new qvector identical to 'x'.
 
 ~qvector (void)
 Destructor.
 
void push_back (const T &x)
 Append a new element to the end the qvector.
 
T & push_back (void)
 Append a new empty element to the end of the qvector. More...
 
void pop_back (void)
 Remove the last element in the qvector.
 
size_t size (void) const
 Get the number of elements in the qvector.
 
bool empty (void) const
 Does the qvector have 0 elements?
 
const T & operator[] (size_t _idx) const
 Allows use of typical c-style array indexing for qvectors.
 
T & operator[] (size_t _idx)
 Allows use of typical c-style array indexing for qvectors.
 
const T & at (size_t _idx) const
 Get element at index '_idx'.
 
T & at (size_t _idx)
 Get element at index '_idx'.
 
const T & front (void) const
 Get the first element in the qvector.
 
T & front (void)
 Get the first element in the qvector.
 
const T & back (void) const
 Get the last element in the qvector.
 
T & back (void)
 Get the last element in the qvector.
 
void qclear (void)
 Destroy all elements but do not free memory.
 
void clear (void)
 Destroy all elements and free memory.
 
qvector< T > & operator= (const qvector< T > &x)
 Allow assignment of one qvector to another using '='.
 
void resize (size_t _newsize, const T &x)
 Resize to the given size. More...
 
void resize (size_t _newsize)
 Same as resize(size_t, const T &), but extra space is filled with empty elements.
 
void grow (const T &x=T())
 Add an element to the end of the qvector, which will be a new T() if x is not given.
 
size_t capacity (void) const
 Get the number of elements that this qvector can contain - not the same as the number of elements currently in the qvector (size())
 
void reserve (size_t cnt)
 Increase the capacity of the qvector. More...
 
void truncate (void)
 Shrink the capacity down to the current number of elements.
 
void swap (qvector< T > &r)
 Replace all attributes of this qvector with that of 'r', and vice versa. More...
 
T * extract (void)
 Empty the qvector and return a pointer to it's contents. More...
 
void inject (T *s, size_t len)
 Populate the qvector with dynamic memory. More...
 
bool operator== (const qvector< T > &r) const
 Allow ability to test the equality of two qvectors using '=='.
 
bool operator!= (const qvector< T > &r) const
 Allow ability to test equality of two qvectors using '!='.
 
iterator begin (void)
 Get an iterator that points to the first element in the qvector.
 
iterator end (void)
 Get an iterator that points to the end of the qvector (NOT the last element)
 
const_iterator begin (void) const
 Get a const iterator that points to the first element in the qvector.
 
const_iterator end (void) const
 Get a const iterator that points to the end of the qvector (NOT the last element)
 
iterator insert (iterator it, const T &x)
 Insert an element into the qvector at a specified position. More...
 
template<class it2 >
iterator insert (iterator it, it2 first, it2 last)
 Insert a several elements to the qvector at a specified position. More...
 
iterator erase (iterator it)
 Remove an element from the qvector. More...
 
iterator erase (iterator first, iterator last)
 Remove a subset of the qvector. More...
 
iterator find (const T &x)
 Find an element in the qvector. More...
 
const_iterator find (const T &x) const
 Find an element in the qvector. More...
 
ssize_t index (const T &x) const
 Find index of the specified value or return -1.
 
void add (const T &x)
 Add an element to the end of the qvector.
 
bool has (const T &x) const
 Does the qvector contain x?
 
bool add_unique (const T &x)
 Add an element to the end of the qvector - only if it isn't already present. More...
 
bool del (const T &x)
 Find an element and remove it. More...
 
const char * dstr (void) const
 

Additional Inherited Members

- Public Types inherited from qvector< T >
typedef T value_type
 the type of objects contained in this qvector
 
typedef T * iterator
 
typedef const T * const_iterator
 

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