| IDA SDK

Public Attributes | Public Member Functions | List of all members
func_type_data_t Struct Reference

## Detailed Description

Function type information (see tinfo_t::get_func_details())

Inherits qvector< T >.

## Public Attributes
int | flags = 0
| Function type data property bits
tinfo_t | rettype
| return type
argloc_t | retloc
| return location
uval_t | stkargs = 0
| size of stack arguments (not used in build_func_type)
reginfovec_t | spoiled
| spoiled register information. More...
cm_t | cc = 0
| calling convention

## Public Member Functions
void | swap (func_type_data_t &r)
bool | is_high () const
bool | is_noret () const
bool | is_pure () const
bool | is_static () const
bool | is_virtual () const
bool | is_const () const
bool | is_ctor () const
bool | is_dtor () const
int | get_call_method () const
cm_t | get_cc () const
bool | is_vararg_cc () const
bool | is_golang_cc () const
bool | is_swift_cc () const
cm_t | guess_cc (int purged, int cc_flags) const
| Guess function calling convention use the following info: argument locations and 'stkargs'.
bool | dump (qstring *out, int praloc_bits=PRALOC_STKOFF) const
| Dump information that is not always visible in the function prototype. More...
ssize_t | find_argument (const char *name, size_t from=0, size_t to=size_t(-1)) const
| find argument by name
Public Member Functions inherited from qvector< T >
| qvector (void)
| Constructor.
| qvector (const qvector< T > &x)
| Constructor - creates a new qvector identical to 'x'.
| qvector (qvector< T > &&x) noexcept
| Move constructor.
| ~qvector (void)
| Destructor.
void | push_back (const T &x)
| Append a new element to the end the qvector.
void | push_back (T &&x)
| Append a new element to the end the qvector with a move semantics.
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 '='.
qvector< T > & | operator= (qvector< T > &&x) noexcept
| Move assignment operator.
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 | resize_noinit (size_t _newsize)
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) noexcept
| 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...
iterator | insert (iterator it, T &&x)
| Insert an element into the qvector with a move semantics.
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.
void | add (T &&x)
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

## Member Function Documentation

## ◆ dump()

bool func_type_data_t::dump | ( | qstring * | out,
|  | int | praloc_bits = `PRALOC_STKOFF`
| ) |  | const
| inline

Dump information that is not always visible in the function prototype.

(argument locations, return location, total stkarg size)

## Member Data Documentation

## ◆ spoiled

reginfovec_t func_type_data_t::spoiled

spoiled register information.

if spoiled register info is present, it overrides the standard spoil info (eax, edx, ecx for x86)

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

- typeinf.hpp