GCC Middle and Back End API Reference
widest_int_storage< N > Class Template Reference

#include <wide-int.h>

Inheritance diagram for widest_int_storage< N >:

Public Member Functions

 widest_int_storage ()
 
 widest_int_storage (const widest_int_storage &)
 
template<typename T >
 widest_int_storage (const T &)
 
 ~widest_int_storage ()
 
widest_int_storageoperator= (const widest_int_storage &)
 
template<typename T >
widest_int_storageoperator= (const T &)
 
unsigned int get_precision () const
 
const HOST_WIDE_INT * get_val () const
 
unsigned int get_len () const
 
HOST_WIDE_INT * write_val (unsigned int)
 
void set_len (unsigned int, bool=false)
 
template<typename T >
widest_int_storage< N > & operator= (const T &x)
 

Static Public Member Functions

static WIDEST_INT (N) from(const wide_int_ref &
 
static WIDEST_INT (N) from_array(const HOST_WIDE_INT *
 

Data Fields

static signop
 
static unsigned int
 
static unsigned bool = true)
 

Private Attributes

union { 
 
   HOST_WIDE_INT   val [WIDE_INT_MAX_INL_ELTS
 
   HOST_WIDE_INT *   valp 
 
u 
 
unsigned int len
 

Detailed Description

template<int N>
class widest_int_storage< N >
The storage used by widest_int.   

Constructor & Destructor Documentation

◆ widest_int_storage() [1/3]

template<int N>
widest_int_storage< N >::widest_int_storage ( )
inline

◆ widest_int_storage() [2/3]

template<int N>
widest_int_storage< N >::widest_int_storage ( const widest_int_storage< N > & x)
inline

References UNLIKELY, and WIDE_INT_MAX_INL_ELTS.

◆ widest_int_storage() [3/3]

template<int N>
template<typename T >
widest_int_storage< N >::widest_int_storage ( const T & x)
inline
Initialize the storage from integer X, in precision N.   

References wi::copy(), N, WI_BINARY_RESULT, WIDE_INT_REF_FOR, and WIDEST_INT.

◆ ~widest_int_storage()

template<int N>
widest_int_storage< N >::~widest_int_storage ( )
inline

References UNLIKELY, and WIDE_INT_MAX_INL_ELTS.

Member Function Documentation

◆ get_len()

template<int N>
unsigned int widest_int_storage< N >::get_len ( ) const
inline

◆ get_precision()

template<int N>
unsigned int widest_int_storage< N >::get_precision ( ) const
inline

References N.

Referenced by streamer_write_widest_int().

◆ get_val()

template<int N>
const HOST_WIDE_INT * widest_int_storage< N >::get_val ( ) const
inline

References UNLIKELY, and WIDE_INT_MAX_INL_ELTS.

◆ operator=() [1/3]

template<int N>
template<typename T >
widest_int_storage & widest_int_storage< N >::operator= ( const T & )
inline

◆ operator=() [2/3]

template<int N>
template<typename T >
widest_int_storage< N > & widest_int_storage< N >::operator= ( const T & x)
inline

◆ operator=() [3/3]

template<int N>
widest_int_storage< N > & widest_int_storage< N >::operator= ( const widest_int_storage< N > & x)
inline

References UNLIKELY, and WIDE_INT_MAX_INL_ELTS.

◆ set_len()

template<int N>
void widest_int_storage< N >::set_len ( unsigned int l,
bool = false )
inline

◆ WIDEST_INT() [1/2]

template<int N>
static widest_int_storage< N >::WIDEST_INT ( N ) const &
static

◆ WIDEST_INT() [2/2]

template<int N>
static widest_int_storage< N >::WIDEST_INT ( N ) const
static

◆ write_val()

template<int N>
HOST_WIDE_INT * widest_int_storage< N >::write_val ( unsigned int l)
inline

Field Documentation

◆ bool

template<int N>
unsigned widest_int_storage< N >::bool = true)

◆ int

template<int N>
unsigned widest_int_storage< N >::int

◆ len

template<int N>
unsigned int widest_int_storage< N >::len
private

Referenced by WIDEST_INT().

◆ signop

◆ [union]

union { ... } widest_int_storage< N >::u

◆ val

template<int N>
HOST_WIDE_INT widest_int_storage< N >::val[WIDE_INT_MAX_INL_ELTS]

Referenced by WIDEST_INT().

◆ valp

template<int N>
HOST_WIDE_INT* widest_int_storage< N >::valp

The documentation for this class was generated from the following file: