gem5 v25.0.0.1
Loading...
Searching...
No Matches
sc_dt::sc_subref_r< X > Class Template Reference

#include <sc_bit_proxies.hh>

Inheritance diagram for sc_dt::sc_subref_r< X >:
sc_dt::sc_proxy< sc_subref_r< X > > sc_dt::sc_subref< X >

Public Types

typedef sc_proxy< sc_subref_r< X > >::value_type value_type
Public Types inherited from sc_dt::sc_proxy< sc_subref_r< X > >
typedef sc_proxy_traits< X >::traits_type traits_type
typedef traits_type::bit_type bit_type
typedef traits_type::value_type value_type

Public Member Functions

 sc_subref_r (const X &obj_, int hi_, int lo_)
 sc_subref_r (const sc_subref_r< X > &a)
sc_subref_r< X > * clone () const
int length () const
int size () const
value_type get_bit (int n) const
void set_bit (int n, value_type value)
sc_digit get_word (int i) const
void set_word (int i, sc_digit w)
sc_digit get_cword (int i) const
void set_cword (int i, sc_digit w)
void clean_tail ()
bool is_01 () const
bool reversed () const
Public Member Functions inherited from sc_dt::sc_proxy< sc_subref_r< X > >
virtual ~sc_proxy ()
X & back_cast ()
X & assign_ (const sc_proxy< Y > &a)
X & b_not ()
const sc_lv_base operator~ () const
X & operator&= (const char *b)
const sc_lv_base operator& (const char *b) const
X & operator|= (const char *b)
const sc_lv_base operator| (const char *b) const
X & operator^= (const char *b)
const sc_lv_base operator^ (const char *b) const
X & operator<<= (int n)
const sc_lv_base operator<< (int n) const
X & operator>>= (int n)
const sc_lv_base operator>> (int n) const
X & lrotate (int n)
X & rrotate (int n)
X & reverse ()
sc_bitref< X > operator[] (int i)
sc_bitref< X > bit (int i)
sc_subref< X > operator() (int hi, int lo)
sc_subref< X > range (int hi, int lo)
value_type and_reduce () const
value_type nand_reduce () const
value_type or_reduce () const
value_type nor_reduce () const
value_type xor_reduce () const
value_type xnor_reduce () const
bool operator== (const char *b) const
const std::string to_string () const
int64 to_int64 () const
uint64 to_uint64 () const
int to_int () const
unsigned int to_uint () const
long to_long () const
unsigned long to_ulong () const
void print (::std::ostream &os=::std::cout) const
void scan (::std::istream &is=::std::cin)

Protected Attributes

X & m_obj
int m_hi
int m_lo
int m_len

Private Member Functions

void check_bounds ()
 sc_subref_r ()
sc_subref_r< X > & operator= (const sc_subref_r< X > &)

Additional Inherited Members

Protected Member Functions inherited from sc_dt::sc_proxy< sc_subref_r< X > >
void check_bounds (int n) const
void check_wbounds (int n) const
sc_digit to_anything_unsigned () const
int64 to_anything_signed () const

Detailed Description

template<class X>
class sc_dt::sc_subref_r< X >

Definition at line 607 of file sc_bit_proxies.hh.

Member Typedef Documentation

◆ value_type

template<class X>
typedef sc_proxy<sc_subref_r<X>>::value_type sc_dt::sc_subref_r< X >::value_type

Definition at line 612 of file sc_bit_proxies.hh.

Constructor & Destructor Documentation

◆ sc_subref_r() [1/3]

template<class X>
sc_dt::sc_subref_r< X >::sc_subref_r ( const X & obj_,
int hi_,
int lo_ )
inline

◆ sc_subref_r() [2/3]

template<class X>
sc_dt::sc_subref_r< X >::sc_subref_r ( const sc_subref_r< X > & a)
inline

Definition at line 620 of file sc_bit_proxies.hh.

References a, m_hi, m_len, m_lo, m_obj, and sc_subref_r().

◆ sc_subref_r() [3/3]

template<class X>
sc_dt::sc_subref_r< X >::sc_subref_r ( )
private

Referenced by clone().

Member Function Documentation

◆ check_bounds()

template<class X>
void sc_dt::sc_subref_r< X >::check_bounds ( )
inlineprivate

◆ clean_tail()

template<class X>
void sc_dt::sc_subref_r< X >::clean_tail ( )
inline

Definition at line 641 of file sc_bit_proxies.hh.

References m_obj.

◆ clone()

template<class X>
sc_subref_r< X > * sc_dt::sc_subref_r< X >::clone ( ) const
inline

Definition at line 625 of file sc_bit_proxies.hh.

References sc_subref_r(), and sc_subref_r().

◆ get_bit()

template<class X>
sc_subref_r< X >::value_type sc_dt::sc_subref_r< X >::get_bit ( int n) const
inline

Definition at line 2216 of file sc_bit_proxies.hh.

References m_lo, m_obj, and reversed().

◆ get_cword()

template<class X>
sc_digit sc_dt::sc_subref_r< X >::get_cword ( int i) const
inline

◆ get_word()

template<class X>
sc_digit sc_dt::sc_subref_r< X >::get_word ( int i) const
inline

◆ is_01()

template<class X>
bool sc_dt::sc_subref_r< X >::is_01 ( ) const
inline

Definition at line 2340 of file sc_bit_proxies.hh.

References get_cword(), sc_dt::SC_DIGIT_ZERO, and size().

◆ length()

template<class X>
int sc_dt::sc_subref_r< X >::length ( ) const
inline

Definition at line 628 of file sc_bit_proxies.hh.

References m_len.

Referenced by sc_dt::sc_subref< X >::operator=(), sc_dt::sc_subref< X >::operator=(), and size().

◆ operator=()

template<class X>
sc_subref_r< X > & sc_dt::sc_subref_r< X >::operator= ( const sc_subref_r< X > & )
private

References sc_subref_r().

◆ reversed()

template<class X>
bool sc_dt::sc_subref_r< X >::reversed ( ) const
inline

◆ set_bit()

template<class X>
void sc_dt::sc_subref_r< X >::set_bit ( int n,
value_type value )
inline

Definition at line 2227 of file sc_bit_proxies.hh.

References m_lo, m_obj, and reversed().

◆ set_cword()

template<class X>
void sc_dt::sc_subref_r< X >::set_cword ( int i,
sc_digit w )
inline

◆ set_word()

template<class X>
void sc_dt::sc_subref_r< X >::set_word ( int i,
sc_digit w )
inline

◆ size()

template<class X>
int sc_dt::sc_subref_r< X >::size ( ) const
inline

Definition at line 630 of file sc_bit_proxies.hh.

References length(), and sc_dt::SC_DIGIT_SIZE.

Referenced by is_01().

Member Data Documentation

◆ m_hi

template<class X>
int sc_dt::sc_subref_r< X >::m_hi
protected

◆ m_len

template<class X>
int sc_dt::sc_subref_r< X >::m_len
protected

Definition at line 651 of file sc_bit_proxies.hh.

Referenced by check_bounds(), length(), sc_subref_r(), and sc_subref_r().

◆ m_lo

◆ m_obj


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

Generated on Sat Oct 18 2025 08:07:54 for gem5 by doxygen 1.14.0