GCC Middle and Back End API Reference
frange_storage Class Reference

#include <value-range-storage.h>

Inheritance diagram for frange_storage:
Collaboration diagram for frange_storage:

Public Member Functions

void set_frange (const frange &r)
void get_frange (frange &r, tree type) const
bool equal_p (const frange &r) const
bool fits_p (const frange &) 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 frange_storagealloc (vrange_internal_alloc &, const frange &r)
static vrange_storagealloc (vrange_internal_alloc &, const vrange &, bool shared_p=true)

Data Fields

enum value_range_discriminator m_discriminator: 4

Private Member Functions

 frange_storage (const frange &r)
 DISABLE_COPY_AND_ASSIGN (frange_storage)

Static Private Member Functions

static size_t size (const frange &r)

Private Attributes

enum value_range_kind m_kind
const unsigned char m_max_ranges
unsigned char m_num_ranges
bool m_pos_nan
bool m_neg_nan
frange_pair m_pairs [1]

Constructor & Destructor Documentation

◆ frange_storage()

frange_storage::frange_storage ( const frange & r)
private

Member Function Documentation

◆ alloc() [1/2]

◆ alloc() [2/2]

vrange_storage * vrange_storage::alloc ( vrange_internal_alloc & allocator,
const vrange & r,
bool shared_p = true )
staticinherited

◆ DISABLE_COPY_AND_ASSIGN()

frange_storage::DISABLE_COPY_AND_ASSIGN ( frange_storage )
private

References frange_storage(), and r.

◆ equal_p() [1/2]

bool frange_storage::equal_p ( const frange & r) const

References get_frange(), m_kind, r, and VR_UNDEFINED.

◆ equal_p() [2/2]

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

◆ fits_p() [1/2]

bool frange_storage::fits_p ( const frange & r) const

References m_max_ranges, and r.

Referenced by set_frange().

◆ fits_p() [2/2]

◆ get_frange()

void frange_storage::get_frange ( frange & r,
tree type ) const

◆ get_vrange()

◆ set_frange()

void frange_storage::set_frange ( const frange & r)

◆ set_vrange()

◆ size()

size_t frange_storage::size ( const frange & r)
staticprivate

References frange_storage(), and r.

Referenced by alloc().

Field Documentation

◆ m_discriminator

enum value_range_discriminator vrange_storage::m_discriminator
inherited

Referenced by vrange_storage().

◆ m_kind

enum value_range_kind frange_storage::m_kind
private

Referenced by equal_p(), get_frange(), and set_frange().

◆ m_max_ranges

const unsigned char frange_storage::m_max_ranges
private

Referenced by fits_p(), and frange_storage().

◆ m_neg_nan

bool frange_storage::m_neg_nan
private

Referenced by get_frange(), and set_frange().

◆ m_num_ranges

unsigned char frange_storage::m_num_ranges
private

Referenced by get_frange(), and set_frange().

◆ m_pairs

frange_pair frange_storage::m_pairs[1]
private

Referenced by get_frange(), and set_frange().

◆ m_pos_nan

bool frange_storage::m_pos_nan
private

Referenced by get_frange(), and set_frange().


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