GCC Middle and Back End API Reference
ana::bounded_ranges Struct Reference

#include <constraint-manager.h>

Collaboration diagram for ana::bounded_ranges:

Public Types

typedef bounded_ranges key_t
 

Public Member Functions

 bounded_ranges (const bounded_range &range)
 
 bounded_ranges (const vec< bounded_range > &ranges)
 
 bounded_ranges (enum tree_code op, tree rhs_const)
 
bool operator== (const bounded_ranges &other) const
 
hashval_t get_hash () const
 
void dump_to_pp (pretty_printer *pp, bool show_types) const
 
void dump (bool show_types) const
 
std::unique_ptr< json::valueto_json () const
 
void add_to_dump_widget (text_art::tree_widget &parent, const text_art::dump_widget_info &dwi) const
 
tristate eval_condition (enum tree_code op, tree rhs_const, bounded_ranges_manager *mgr) const
 
bool contain_p (tree cst) const
 
bool empty_p () const
 
unsigned get_count () const
 
const bounded_rangeget_range (unsigned idx) const
 

Static Public Member Functions

static int cmp (const bounded_ranges *a, const bounded_ranges *b)
 

Private Member Functions

void canonicalize ()
 
void validate () const
 

Private Attributes

auto_vec< bounded_rangem_ranges
 
hashval_t m_hash
 

Friends

class bounded_ranges_manager
 

Detailed Description

A collection of bounded_range instances, suitable
for representing the ranges on a case label within a switch
statement.   

Member Typedef Documentation

◆ key_t

Constructor & Destructor Documentation

◆ bounded_ranges() [1/3]

ana::bounded_ranges::bounded_ranges ( const bounded_range & range)

◆ bounded_ranges() [2/3]

ana::bounded_ranges::bounded_ranges ( const vec< bounded_range > & ranges)

◆ bounded_ranges() [3/3]

ana::bounded_ranges::bounded_ranges ( enum tree_code op,
tree rhs_const )

Member Function Documentation

◆ add_to_dump_widget()

void ana::bounded_ranges::add_to_dump_widget ( text_art::tree_widget & parent,
const text_art::dump_widget_info & dwi ) const

◆ canonicalize()

void ana::bounded_ranges::canonicalize ( )
private

◆ cmp()

static int ana::bounded_ranges::cmp ( const bounded_ranges * a,
const bounded_ranges * b )
static

◆ contain_p()

bool ana::bounded_ranges::contain_p ( tree cst) const

◆ dump()

void ana::bounded_ranges::dump ( bool show_types) const

◆ dump_to_pp()

void ana::bounded_ranges::dump_to_pp ( pretty_printer * pp,
bool show_types ) const

◆ empty_p()

bool ana::bounded_ranges::empty_p ( ) const
inline

References m_ranges.

◆ eval_condition()

tristate ana::bounded_ranges::eval_condition ( enum tree_code op,
tree rhs_const,
bounded_ranges_manager * mgr ) const

◆ get_count()

unsigned ana::bounded_ranges::get_count ( ) const
inline

References m_ranges.

◆ get_hash()

hashval_t ana::bounded_ranges::get_hash ( ) const
inline

◆ get_range()

const bounded_range & ana::bounded_ranges::get_range ( unsigned idx) const
inline

References m_ranges.

◆ operator==()

bool ana::bounded_ranges::operator== ( const bounded_ranges & other) const

◆ to_json()

std::unique_ptr< json::value > ana::bounded_ranges::to_json ( ) const

◆ validate()

void ana::bounded_ranges::validate ( ) const
private

Friends And Related Symbol Documentation

◆ bounded_ranges_manager

friend class bounded_ranges_manager
friend

Field Documentation

◆ m_hash

hashval_t ana::bounded_ranges::m_hash
private

Referenced by get_hash().

◆ m_ranges

auto_vec<bounded_range> ana::bounded_ranges::m_ranges
private

Referenced by empty_p(), get_count(), and get_range().


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