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

#include <store.h>

Public Member Functions

 bit_range (bit_offset_t start_bit_offset, bit_size_t size_in_bits)
 
void dump_to_pp (pretty_printer *pp) const
 
void dump () const
 
std::unique_ptr< json::objectto_json () const
 
bool empty_p () const
 
bit_offset_t get_start_bit_offset () const
 
bit_offset_t get_next_bit_offset () const
 
bit_offset_t get_last_bit_offset () const
 
bool contains_p (bit_offset_t offset) const
 
bool contains_p (const bit_range &other, bit_range *out) const
 
bool operator== (const bit_range &other) const
 
bool intersects_p (const bit_range &other) const
 
bool intersects_p (const bit_range &other, bit_size_t *out_num_overlap_bits) const
 
bool intersects_p (const bit_range &other, bit_range *out_this, bit_range *out_other) const
 
bool exceeds_p (const bit_range &other, bit_range *out_overhanging_bit_range) const
 
bool falls_short_of_p (bit_offset_t offset, bit_range *out_fall_short_bits) const
 
bit_range operator- (bit_offset_t offset) const
 
bool as_byte_range (byte_range *out) const
 

Static Public Member Functions

static int cmp (const bit_range &br1, const bit_range &br2)
 
static bool from_mask (unsigned HOST_WIDE_INT mask, bit_range *out)
 

Data Fields

bit_offset_t m_start_bit_offset
 
bit_size_t m_size_in_bits
 

Detailed Description

A concrete range of bits.   

Constructor & Destructor Documentation

◆ bit_range()

ana::bit_range::bit_range ( bit_offset_t start_bit_offset,
bit_size_t size_in_bits )
inline

Member Function Documentation

◆ as_byte_range()

bool ana::bit_range::as_byte_range ( byte_range * out) const

◆ cmp()

static int ana::bit_range::cmp ( const bit_range & br1,
const bit_range & br2 )
static

◆ contains_p() [1/2]

bool ana::bit_range::contains_p ( bit_offset_t offset) const
inline

◆ contains_p() [2/2]

bool ana::bit_range::contains_p ( const bit_range & other,
bit_range * out ) const

◆ dump()

void ana::bit_range::dump ( ) const

◆ dump_to_pp()

void ana::bit_range::dump_to_pp ( pretty_printer * pp) const

◆ empty_p()

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

References m_size_in_bits.

Referenced by get_last_bit_offset().

◆ exceeds_p()

bool ana::bit_range::exceeds_p ( const bit_range & other,
bit_range * out_overhanging_bit_range ) const

◆ falls_short_of_p()

bool ana::bit_range::falls_short_of_p ( bit_offset_t offset,
bit_range * out_fall_short_bits ) const

◆ from_mask()

static bool ana::bit_range::from_mask ( unsigned HOST_WIDE_INT mask,
bit_range * out )
static

◆ get_last_bit_offset()

bit_offset_t ana::bit_range::get_last_bit_offset ( ) const
inline

◆ get_next_bit_offset()

◆ get_start_bit_offset()

◆ intersects_p() [1/3]

bool ana::bit_range::intersects_p ( const bit_range & other) const
inline

◆ intersects_p() [2/3]

bool ana::bit_range::intersects_p ( const bit_range & other,
bit_range * out_this,
bit_range * out_other ) const

◆ intersects_p() [3/3]

bool ana::bit_range::intersects_p ( const bit_range & other,
bit_size_t * out_num_overlap_bits ) const

◆ operator-()

bit_range ana::bit_range::operator- ( bit_offset_t offset) const

◆ operator==()

bool ana::bit_range::operator== ( const bit_range & other) const
inline

◆ to_json()

std::unique_ptr< json::object > ana::bit_range::to_json ( ) const

Field Documentation

◆ m_size_in_bits

◆ m_start_bit_offset


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