func_type_data_t Struct Reference
Function type information (see tinfo_t::get_func_details()) More...
#include <typeinf.hpp>
Inherits qvector< T >.
Public Member Functions | |
void | swap (func_type_data_t &r) |
bool | is_high (void) const |
bool | is_noret (void) const |
bool | is_pure (void) const |
bool | is_static (void) const |
bool | is_virtual (void) const |
bool | is_const (void) const |
bool | is_ctor (void) const |
bool | is_dtor (void) const |
int | get_call_method (void) const |
cm_t | get_cc (void) const |
bool | is_vararg_cc () const |
bool | is_golang_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... | |
![]() | |
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 |
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 | |
Additional Inherited Members | |
![]() | |
typedef T | value_type |
the type of objects contained in this qvector | |
typedef T * | iterator |
typedef const T * | const_iterator |
Detailed Description
Function type information (see tinfo_t::get_func_details())
Member Function Documentation
◆ dump()
|
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:
Generated by