|
| 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 |
|
template<class T>
class qvector< T >
Reimplementation of vector class from STL.
Only the most essential functions are implemented.
The vector container accepts objects agnostic to their positions in the memory because it will move them arbitrarily (realloc and memmove).
The reason why we have it is because it is not compiler dependent (hopefully) and therefore can be used in IDA API.