gem5 v24.0.0.0
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 ()
 
const X & back_cast () const
 
X & assign_ (const sc_proxy< Y > &a)
 
X & assign_ (const char *a)
 
X & assign_ (const bool *a)
 
X & assign_ (const sc_logic *a)
 
X & assign_ (const sc_unsigned &a)
 
X & assign_ (const sc_signed &a)
 
X & assign_ (const sc_uint_base &a)
 
X & assign_ (const sc_int_base &a)
 
X & assign_ (unsigned int a)
 
X & assign_ (int a)
 
X & assign_ (unsigned long a)
 
X & assign_ (long a)
 
X & assign_ (uint64 a)
 
X & assign_ (int64 a)
 
X & b_not ()
 
const sc_lv_base operator~ () const
 
X & operator&= (const char *b)
 
X & operator&= (const bool *b)
 
X & operator&= (const sc_logic *b)
 
X & operator&= (const sc_unsigned &b)
 
X & operator&= (const sc_signed &b)
 
X & operator&= (const sc_uint_base &b)
 
X & operator&= (const sc_int_base &b)
 
X & operator&= (unsigned long b)
 
X & operator&= (long b)
 
X & operator&= (unsigned int b)
 
X & operator&= (int b)
 
X & operator&= (uint64 b)
 
X & operator&= (int64 b)
 
const sc_lv_base operator& (const char *b) const
 
const sc_lv_base operator& (const bool *b) const
 
const sc_lv_base operator& (const sc_logic *b) const
 
const sc_lv_base operator& (const sc_unsigned &b) const
 
const sc_lv_base operator& (const sc_signed &b) const
 
const sc_lv_base operator& (const sc_uint_base &b) const
 
const sc_lv_base operator& (const sc_int_base &b) const
 
const sc_lv_base operator& (unsigned long b) const
 
const sc_lv_base operator& (long b) const
 
const sc_lv_base operator& (unsigned int b) const
 
const sc_lv_base operator& (int b) const
 
const sc_lv_base operator& (uint64 b) const
 
const sc_lv_base operator& (int64 b) const
 
X & operator|= (const char *b)
 
X & operator|= (const bool *b)
 
X & operator|= (const sc_logic *b)
 
X & operator|= (const sc_unsigned &b)
 
X & operator|= (const sc_signed &b)
 
X & operator|= (const sc_uint_base &b)
 
X & operator|= (const sc_int_base &b)
 
X & operator|= (unsigned long b)
 
X & operator|= (long b)
 
X & operator|= (unsigned int b)
 
X & operator|= (int b)
 
X & operator|= (uint64 b)
 
X & operator|= (int64 b)
 
const sc_lv_base operator| (const char *b) const
 
const sc_lv_base operator| (const bool *b) const
 
const sc_lv_base operator| (const sc_logic *b) const
 
const sc_lv_base operator| (const sc_unsigned &b) const
 
const sc_lv_base operator| (const sc_signed &b) const
 
const sc_lv_base operator| (const sc_uint_base &b) const
 
const sc_lv_base operator| (const sc_int_base &b) const
 
const sc_lv_base operator| (unsigned long b) const
 
const sc_lv_base operator| (long b) const
 
const sc_lv_base operator| (unsigned int b) const
 
const sc_lv_base operator| (int b) const
 
const sc_lv_base operator| (uint64 b) const
 
const sc_lv_base operator| (int64 b) const
 
X & operator^= (const char *b)
 
X & operator^= (const bool *b)
 
X & operator^= (const sc_logic *b)
 
X & operator^= (const sc_unsigned &b)
 
X & operator^= (const sc_signed &b)
 
X & operator^= (const sc_uint_base &b)
 
X & operator^= (const sc_int_base &b)
 
X & operator^= (unsigned long b)
 
X & operator^= (long b)
 
X & operator^= (unsigned int b)
 
X & operator^= (int b)
 
X & operator^= (uint64 b)
 
X & operator^= (int64 b)
 
const sc_lv_base operator^ (const char *b) const
 
const sc_lv_base operator^ (const bool *b) const
 
const sc_lv_base operator^ (const sc_logic *b) const
 
const sc_lv_base operator^ (const sc_unsigned &b) const
 
const sc_lv_base operator^ (const sc_signed &b) const
 
const sc_lv_base operator^ (const sc_uint_base &b) const
 
const sc_lv_base operator^ (const sc_int_base &b) const
 
const sc_lv_base operator^ (unsigned long b) const
 
const sc_lv_base operator^ (long b) const
 
const sc_lv_base operator^ (unsigned int b) const
 
const sc_lv_base operator^ (int b) const
 
const sc_lv_base operator^ (uint64 b) const
 
const sc_lv_base operator^ (int64 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_r< X > operator[] (int i) const
 
sc_bitref< X > bit (int i)
 
sc_bitref_r< X > bit (int i) const
 
sc_subref< X > operator() (int hi, int lo)
 
sc_subref_r< X > operator() (int hi, int lo) const
 
sc_subref< X > range (int hi, int lo)
 
sc_subref_r< X > range (int hi, int lo) const
 
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
 
bool operator== (const bool *b) const
 
bool operator== (const sc_logic *b) const
 
bool operator== (const sc_unsigned &b) const
 
bool operator== (const sc_signed &b) const
 
bool operator== (const sc_uint_base &b) const
 
bool operator== (const sc_int_base &b) const
 
bool operator== (unsigned long b) const
 
bool operator== (long b) const
 
bool operator== (unsigned int b) const
 
bool operator== (int b) const
 
bool operator== (uint64 b) const
 
bool operator== (int64 b) const
 
const std::string to_string () const
 
const std::string to_string (sc_numrep) const
 
const std::string to_string (sc_numrep, bool) 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 90 of file sc_proxy.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

Definition at line 615 of file sc_bit_proxies.hh.

References sc_dt::sc_subref_r< X >::check_bounds().

◆ 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.

◆ sc_subref_r() [3/3]

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

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 sc_dt::sc_subref_r< X >::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_dt::sc_subref_r< X >::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.

◆ 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 sc_dt::SC_DIGIT_ZERO.

◆ 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 sc_dt::sc_subref_r< X >::m_len.

Referenced by sc_dt::sc_subref_r< X >::size().

◆ operator=()

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

◆ 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.

◆ 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 sc_dt::sc_subref_r< X >::length(), and sc_dt::SC_DIGIT_SIZE.

Member Data Documentation

◆ m_hi

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

Definition at line 649 of file sc_bit_proxies.hh.

Referenced by sc_dt::sc_subref_r< X >::reversed().

◆ 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 sc_dt::sc_subref_r< X >::length().

◆ m_lo

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

Definition at line 650 of file sc_bit_proxies.hh.

Referenced by sc_dt::sc_subref_r< X >::reversed().

◆ m_obj

template<class X >
X& sc_dt::sc_subref_r< X >::m_obj
protected

Definition at line 648 of file sc_bit_proxies.hh.

Referenced by sc_dt::sc_subref_r< X >::clean_tail().


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

Generated on Tue Jun 18 2024 16:24:55 for gem5 by doxygen 1.11.0