GCC Middle and Back End API Reference
irange_storage Class Reference

#include <value-range-storage.h>

Inheritance diagram for irange_storage:
Collaboration diagram for irange_storage:

Public Member Functions

void set_irange (const irange &r)
 
void get_irange (irange &r, tree type) const
 
bool equal_p (const irange &r) const
 
bool fits_p (const irange &r) const
 
void dump () const
 
void get_vrange (vrange &r, tree type) const
 
void set_vrange (const vrange &r)
 
bool fits_p (const vrange &r) const
 
bool equal_p (const vrange &r) const
 

Static Public Member Functions

static irange_storagealloc (vrange_internal_alloc &, const irange &)
 
static vrange_storagealloc (vrange_internal_alloc &, const vrange &)
 

Private Member Functions

 DISABLE_COPY_AND_ASSIGN (irange_storage)
 
const unsigned shortlengths_address () const
 
unsigned shortwrite_lengths_address ()
 
 irange_storage (const irange &r)
 

Static Private Member Functions

static size_t size (const irange &r)
 

Private Attributes

unsigned short m_precision
 
const unsigned char m_max_ranges
 
unsigned char m_num_ranges
 
enum value_range_kind m_kind: 3
 
HOST_WIDE_INT m_val [1]
 

Friends

void gt_ggc_mx_irange_storage (void *)
 
void gt_pch_p_14irange_storage (void *, void *, gt_pointer_operator, void *)
 
void gt_pch_nx_irange_storage (void *)
 

Constructor & Destructor Documentation

◆ irange_storage()

irange_storage::irange_storage ( const irange & r)
private

References m_max_ranges, m_num_ranges, r, and set_irange().

Referenced by size().

Member Function Documentation

◆ alloc() [1/2]

◆ alloc() [2/2]

vrange_storage * vrange_storage::alloc ( vrange_internal_alloc & allocator,
const vrange & r )
staticinherited

◆ DISABLE_COPY_AND_ASSIGN()

irange_storage::DISABLE_COPY_AND_ASSIGN ( irange_storage )
private

◆ dump()

void irange_storage::dump ( ) const

◆ equal_p() [1/2]

bool irange_storage::equal_p ( const irange & r) const

◆ equal_p() [2/2]

bool vrange_storage::equal_p ( const vrange & r) const
inherited

◆ fits_p() [1/2]

bool irange_storage::fits_p ( const irange & r) const

◆ fits_p() [2/2]

◆ get_irange()

◆ get_vrange()

◆ lengths_address()

const unsigned short * irange_storage::lengths_address ( ) const
private

References write_lengths_address().

Referenced by dump(), and get_irange().

◆ set_irange()

◆ set_vrange()

◆ size()

size_t irange_storage::size ( const irange & r)
staticprivate

◆ write_lengths_address()

unsigned short * irange_storage::write_lengths_address ( )
private

Friends And Related Symbol Documentation

◆ gt_ggc_mx_irange_storage

void gt_ggc_mx_irange_storage ( void * )
friend

◆ gt_pch_nx_irange_storage

void gt_pch_nx_irange_storage ( void * )
friend

◆ gt_pch_p_14irange_storage

void gt_pch_p_14irange_storage ( void * ,
void * ,
gt_pointer_operator ,
void *  )
friend

Field Documentation

◆ m_kind

enum value_range_kind irange_storage::m_kind
private

Referenced by equal_p(), get_irange(), and set_irange().

◆ m_max_ranges

const unsigned char irange_storage::m_max_ranges
private

Referenced by fits_p(), and irange_storage().

◆ m_num_ranges

unsigned char irange_storage::m_num_ranges
private

◆ m_precision

unsigned short irange_storage::m_precision
private

◆ m_val

HOST_WIDE_INT irange_storage::m_val[1]
private

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