GCC Middle and Back End API Reference
|
#include <wide-int.h>
Public Member Functions | |
typedef | WIDE_INT_REF_FOR (trailing_wide_int_storage) const _reference |
void | set_precision (unsigned int precision, unsigned int num_elements=N) |
unsigned int | get_precision () const |
unsigned int | num_elements () const |
trailing_wide_int | operator[] (unsigned int) |
const_reference | operator[] (unsigned int) const |
size_t | extra_size () const |
Static Public Member Functions | |
static size_t | extra_size (unsigned int precision, unsigned int num_elements=N) |
Private Attributes | |
unsigned short | m_precision |
unsigned short | m_max_len |
unsigned char | m_num_elements |
unsigned short | m_len [N] |
HOST_WIDE_INT | m_val [1] |
A variable-length array of wide_int-like objects that can be put at the end of a variable-sized structure. The number of objects is at most N and can be set at runtime by using set_precision(). Use extra_size to calculate how many bytes beyond the sizeof need to be allocated. Use set_precision to initialize the structure.
|
inline |
|
inlinestatic |
Return how many extra bytes need to be added to the end of the structure in order to handle NUM_ELEMENTS wide_ints of precision PRECISION. NUM_ELEMENTS is the number of elements, and defaults to N.
References gcc_checking_assert, N, and WIDE_INT_MAX_HWIS.
|
inline |
References trailing_wide_ints< N >::m_precision.
Referenced by prange_storage::fits_p(), and prange_storage::get_prange().
|
inline |
References trailing_wide_ints< N >::m_num_elements.
|
inline |
Return a reference to element INDEX.
|
inline |
|
inline |
Initialize the structure and record that all elements have precision PRECISION. NUM_ELEMENTS can be no more than N.
References gcc_checking_assert, N, and WIDE_INT_MAX_HWIS.
Referenced by prange_storage::prange_storage().
typedef trailing_wide_ints< N >::WIDE_INT_REF_FOR | ( | trailing_wide_int_storage | ) | const |
|
private |
|
private |
|
private |
Referenced by trailing_wide_ints< N >::extra_size(), and trailing_wide_ints< N >::num_elements().
|
private |
Referenced by trailing_wide_ints< N >::extra_size(), and trailing_wide_ints< N >::get_precision().
|
private |