|
|
| enum_type_data_t (bte_t _bte=BTE_ALWAYS|BTE_HEX) |
| |
| int | get_enum_radix () const |
| | Get enum constant radix. More...
|
| |
|
bool | is_number_signed () const |
| |
| void | set_enum_radix (int radix, bool sign) |
| | Set radix to display constants. More...
|
| |
|
bool | is_char () const |
| |
|
bool | is_dec () const |
| |
|
bool | is_hex () const |
| |
|
bool | is_oct () const |
| |
|
bool | is_bin () const |
| |
|
bool | is_udec () const |
| |
|
bool | is_shex () const |
| |
|
bool | is_soct () const |
| |
|
bool | is_sbin () const |
| |
|
bool | has_lzero () const |
| |
|
void | set_lzero (bool on) |
| |
|
uint64 | calc_mask () const |
| |
|
bool | store_64bit_values () const |
| |
|
bool | is_bf () const |
| | is bitmask or ordinary enum?
|
| |
|
int | calc_nbytes () const |
| | get the width of enum in bytes
|
| |
|
bool | set_nbytes (int nbytes) |
| | set enum width (nbytes)
|
| |
| bool | get_constant_group (size_t *group_start_index, size_t *group_size, size_t idx) const |
| | get group parameters for the constant, valid for bitmask enum More...
|
| |
| bool | is_group_mask_at (size_t idx) const |
| | is the enum member at IDX a non-trivial group mask? a trivial group consist of one bit and has just one member, which can be considered as a mask or a bitfield constant More...
|
| |
|
bool | is_valid_group_sizes () const |
| | is valid group sizes
|
| |
|
ssize_t | find_member (const char *name, size_t from=0, size_t to=size_t(-1)) const |
| | find member (constant or bmask) by name
|
| |
|
ssize_t | find_member (uint64 value, uchar serial, size_t from=0, size_t to=size_t(-1), uint64 vmask=uint64(-1)) const |
| | find member (constant or bmask) by value
|
| |
|
void | swap (enum_type_data_t &r) |
| | swap two instances
|
| |
|
void | add_constant (const char *name, uint64 value, const char *cmt=nullptr) |
| | add constant for regular enum
|
| |
| tinfo_code_t | get_value_repr (value_repr_t *repr) const |
| | get enum radix and other representation info More...
|
| |
| tinfo_code_t | set_value_repr (const value_repr_t &repr) |
| | set enum radix and other representation info More...
|
| |
|
uchar | get_serial (size_t index) const |
| | returns serial for the constant
|
| |
|
uchar | get_max_serial (uint64 value) const |
| | return the maximum serial for the value
|
| |
|
int | for_all_constants (std::function< int(size_t idx, size_t grp_start, int grp_size)> v) const |
| | visit all enum constants not bmasks
|
| |
|
int | for_all_groups (std::function< int(size_t grp_start, int grp_size)> v, bool skip_trivial=false) const |
| | visit all enum groups, for bitmask enum only
|
| |
|
| 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 |
| |