|
|
template<SCALAR_TYPE(1) > |
| void | pack (T value) |
| |
|
template<SCALAR_TYPE(2) > |
| void | pack (T value) |
| |
|
template<SCALAR_TYPE(4) > |
| void | pack (T value) |
| |
|
template<SCALAR_TYPE(8) > |
| void | pack (T value) |
| |
|
void | pack (const qstring &value) |
| |
|
template<class T > |
| void | pack (const qvector< T > &value) |
| |
|
| bytevec_t () |
| | Constructor.
|
| |
|
| bytevec_t (const void *buf, size_t sz) |
| | Constructor - fill bytevec with 'sz' bytes from 'buf'.
|
| |
| bytevec_t & | append (const void *buf, size_t sz) |
| | Append bytes to the bytevec. More...
|
| |
|
void | pack_db (uint8 x) |
| | Pack a byte and append the result to the bytevec.
|
| |
|
void | pack_dw (uint16 x) |
| | Pack a word and append the result to the bytevec.
|
| |
|
void | pack_dd (uint32 x) |
| | Pack a dword and append the result to the bytevec.
|
| |
|
void | pack_dq (uint64 x) |
| | Pack a quadword and append the result to the bytevec.
|
| |
|
void | pack_ea (ea_t x) |
| | Pack an ea value and append the result to the bytevec.
|
| |
| void | pack_ea64 (ea64_t ea) |
| | Pack an ea value (64bits) and append the result to the bytevec We pass ea_t as a 64-bit quantity (to be able to debug 32-bit programs with ida64) adding 1 to the address ensures that BADADDR is passed correctly. More...
|
| |
|
void | pack_ds (const char *x) |
| | Pack a string (length+contents) and append the result to the bytevec.
|
| |
|
void | pack_str (const char *str) |
| | Pack a string (zero-terminated) and append the result to the bytevec.
|
| |
|
void | pack_str (const qstring &s) |
| | Pack a string (zero-terminated) and append the result to the bytevec.
|
| |
|
void | pack_buf (const void *buf, size_t len) |
| | Pack an object of size 'len' and append the result to the bytevec.
|
| |
|
void | pack_bytevec (const bytevec_t &b) |
| | Pack an object of size 'len' and append the result to the bytevec.
|
| |
| void | pack_eavec (ea_t ea, const eavec_t &vec) |
| | Pack an eavec and append the result to the bytevec. More...
|
| |
| bytevec_t & | growfill (size_t sz, uchar filler=0) |
| | Grow the bytevec and fill with a value. More...
|
| |
|
void | inject (void *buf, size_t len) |
| | See qvector::inject(T *, size_t)
|
| |
|
void | tohex (qstring *out, bool upper_case=true) const |
| | Append the hexadecimal representation of bytes to the string.
|
| |
|
qstring | tohex (bool upper_case=true) const |
| | Produce a hexadecimal representation of bytes.
|
| |
|
bool | fromhex (const qstring &str) |
| | Initialize from a hexadecimal string It returns 'false' if the string is invalid.
|
| |
|
bool | test_bit (size_t bit) const |
| | Is the specified bit set in the bytevec?
|
| |
|
void | set_bit (size_t bit) |
| | Set the specified bit.
|
| |
|
void | clear_bit (size_t bit) |
| | Clear the specified bit.
|
| |
|
void | set_all_bits (size_t nbits) |
| | See set_all_bits(uchar *, size_t)
|
| |
|
void | clear_all_bits (size_t nbits) |
| | See clear_all_bits(uchar *, size_t)
|
| |
|
bool | all_zeros () const |
| | Are all bits cleared?
|
| |
|
void | set_bits (const bytevec_t &b) |
| | For each bit that is set in 'b', set the corresponding bit in this bytevec.
|
| |
|
void | set_bits (size_t low, size_t high) |
| | Set each bit between [low, high)
|
| |
|
void | clear_bits (const bytevec_t &b) |
| | For each bit that is set in 'b', the clear the corresponding bit in this bytevec.
|
| |
|
void | clear_bits (size_t low, size_t high) |
| | Clear each bit between [low, high)
|
| |
|
| qvector (void) |
| | Constructor.
|
| |
|
| qvector (const qvector< uchar > &x) |
| | Constructor - creates a new qvector identical to 'x'.
|
| |
|
| qvector (qvector< uchar > &&x) noexcept |
| | Move constructor.
|
| |
|
| ~qvector (void) |
| | Destructor.
|
| |
|
void | push_back (const uchar &x) |
| | Append a new element to the end the qvector.
|
| |
|
void | push_back (uchar &&x) |
| | Append a new element to the end the qvector with a move semantics.
|
| |
| uchar & | 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 uchar & | operator[] (size_t _idx) const |
| | Allows use of typical c-style array indexing for qvectors.
|
| |
|
uchar & | operator[] (size_t _idx) |
| | Allows use of typical c-style array indexing for qvectors.
|
| |
|
const uchar & | at (size_t _idx) const |
| | Get element at index '_idx'.
|
| |
|
uchar & | at (size_t _idx) |
| | Get element at index '_idx'.
|
| |
|
const uchar & | front (void) const |
| | Get the first element in the qvector.
|
| |
|
uchar & | front (void) |
| | Get the first element in the qvector.
|
| |
|
const uchar & | back (void) const |
| | Get the last element in the qvector.
|
| |
|
uchar & | 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< uchar > & | operator= (const qvector< uchar > &x) |
| | Allow assignment of one qvector to another using '='.
|
| |
|
qvector< uchar > & | operator= (qvector< uchar > &&x) noexcept |
| | Move assignment operator.
|
| |
| void | resize (size_t _newsize, const uchar &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 uchar &x=uchar()) |
| | 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< uchar > &r) noexcept |
| | Replace all attributes of this qvector with that of 'r', and vice versa. More...
|
| |
| uchar * | extract (void) |
| | Empty the qvector and return a pointer to it's contents. More...
|
| |
| void | inject (uchar *s, size_t len) |
| | Populate the qvector with dynamic memory. More...
|
| |
|
bool | operator== (const qvector< uchar > &r) const |
| | Allow ability to test the equality of two qvectors using '=='.
|
| |
|
bool | operator!= (const qvector< uchar > &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.
|
| |
|
const_iterator | begin (void) const |
| | Get a const 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 | end (void) const |
| | Get a const iterator that points to the end of the qvector (NOT the last element)
|
| |
| iterator | insert (iterator it, const uchar &x) |
| | Insert an element into the qvector at a specified position. More...
|
| |
|
iterator | insert (iterator it, uchar &&x) |
| | Insert an element into the qvector with a move semantics.
|
| |
| 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 uchar &x) |
| | Find an element in the qvector. More...
|
| |
| const_iterator | find (const uchar &x) const |
| | Find an element in the qvector. More...
|
| |
|
ssize_t | index (const uchar &x) const |
| | Find index of the specified value or return -1.
|
| |
|
void | add (const uchar &x) |
| | Add an element to the end of the qvector.
|
| |
|
void | add (uchar &&x) |
| |
|
bool | has (const uchar &x) const |
| | Does the qvector contain x?
|
| |
| bool | add_unique (const uchar &x) |
| | Add an element to the end of the qvector - only if it isn't already present. More...
|
| |
| bool | del (const uchar &x) |
| | Find an element and remove it. More...
|
| |
|
const char * | dstr (void) const |
| |