gem5  v22.1.0.0
Public Types | Public Member Functions | Private Member Functions | List of all members
sc_dt::sc_subref< X > Class Template Reference

#include <sc_bit_proxies.hh>

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

Public Types

typedef sc_subref_r< X > base_type
 
- Public Types inherited from sc_dt::sc_subref_r< X >
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< sc_subref_r< X > >::traits_type traits_type
 
typedef traits_type::bit_type bit_type
 
typedef traits_type::value_type value_type
 

Public Member Functions

 sc_subref (X &obj_, int hi_, int lo_)
 
 sc_subref (const sc_subref< X > &a)
 
sc_subref< X > * clone () const
 
template<class Y >
sc_subref< X > & operator= (const sc_proxy< Y > &a)
 
sc_subref< X > & operator= (const sc_subref_r< X > &a)
 
sc_subref< X > & operator= (const sc_subref< X > &a)
 
sc_subref< X > & operator= (const char *a)
 
sc_subref< X > & operator= (const bool *a)
 
sc_subref< X > & operator= (const sc_logic *a)
 
sc_subref< X > & operator= (const sc_unsigned &a)
 
sc_subref< X > & operator= (const sc_signed &a)
 
sc_subref< X > & operator= (const sc_uint_base &a)
 
sc_subref< X > & operator= (const sc_int_base &a)
 
sc_subref< X > & operator= (unsigned long a)
 
sc_subref< X > & operator= (long a)
 
sc_subref< X > & operator= (unsigned int a)
 
sc_subref< X > & operator= (int a)
 
sc_subref< X > & operator= (uint64 a)
 
sc_subref< X > & operator= (int64 a)
 
void scan (::std::istream &=::std::cin)
 
- Public Member Functions inherited from sc_dt::sc_subref_r< X >
 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 ()
 
sc_subref_r< X > & back_cast ()
 
const sc_subref_r< X > & back_cast () const
 
sc_subref_r< X > & assign_ (const sc_proxy< Y > &a)
 
sc_subref_r< X > & assign_ (const char *a)
 
sc_subref_r< X > & assign_ (const bool *a)
 
sc_subref_r< X > & assign_ (const sc_logic *a)
 
sc_subref_r< X > & assign_ (const sc_unsigned &a)
 
sc_subref_r< X > & assign_ (const sc_signed &a)
 
sc_subref_r< X > & assign_ (const sc_uint_base &a)
 
sc_subref_r< X > & assign_ (const sc_int_base &a)
 
sc_subref_r< X > & assign_ (unsigned int a)
 
sc_subref_r< X > & assign_ (int a)
 
sc_subref_r< X > & assign_ (unsigned long a)
 
sc_subref_r< X > & assign_ (long a)
 
sc_subref_r< X > & assign_ (uint64 a)
 
sc_subref_r< X > & assign_ (int64 a)
 
sc_subref_r< X > & b_not ()
 
const sc_lv_base operator~ () const
 
sc_subref_r< X > & operator&= (const char *b)
 
sc_subref_r< X > & operator&= (const bool *b)
 
sc_subref_r< X > & operator&= (const sc_logic *b)
 
sc_subref_r< X > & operator&= (const sc_unsigned &b)
 
sc_subref_r< X > & operator&= (const sc_signed &b)
 
sc_subref_r< X > & operator&= (const sc_uint_base &b)
 
sc_subref_r< X > & operator&= (const sc_int_base &b)
 
sc_subref_r< X > & operator&= (unsigned long b)
 
sc_subref_r< X > & operator&= (long b)
 
sc_subref_r< X > & operator&= (unsigned int b)
 
sc_subref_r< X > & operator&= (int b)
 
sc_subref_r< X > & operator&= (uint64 b)
 
sc_subref_r< 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
 
sc_subref_r< X > & operator|= (const char *b)
 
sc_subref_r< X > & operator|= (const bool *b)
 
sc_subref_r< X > & operator|= (const sc_logic *b)
 
sc_subref_r< X > & operator|= (const sc_unsigned &b)
 
sc_subref_r< X > & operator|= (const sc_signed &b)
 
sc_subref_r< X > & operator|= (const sc_uint_base &b)
 
sc_subref_r< X > & operator|= (const sc_int_base &b)
 
sc_subref_r< X > & operator|= (unsigned long b)
 
sc_subref_r< X > & operator|= (long b)
 
sc_subref_r< X > & operator|= (unsigned int b)
 
sc_subref_r< X > & operator|= (int b)
 
sc_subref_r< X > & operator|= (uint64 b)
 
sc_subref_r< 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
 
sc_subref_r< X > & operator^= (const char *b)
 
sc_subref_r< X > & operator^= (const bool *b)
 
sc_subref_r< X > & operator^= (const sc_logic *b)
 
sc_subref_r< X > & operator^= (const sc_unsigned &b)
 
sc_subref_r< X > & operator^= (const sc_signed &b)
 
sc_subref_r< X > & operator^= (const sc_uint_base &b)
 
sc_subref_r< X > & operator^= (const sc_int_base &b)
 
sc_subref_r< X > & operator^= (unsigned long b)
 
sc_subref_r< X > & operator^= (long b)
 
sc_subref_r< X > & operator^= (unsigned int b)
 
sc_subref_r< X > & operator^= (int b)
 
sc_subref_r< X > & operator^= (uint64 b)
 
sc_subref_r< 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
 
sc_subref_r< X > & operator<<= (int n)
 
const sc_lv_base operator<< (int n) const
 
sc_subref_r< X > & operator>>= (int n)
 
const sc_lv_base operator>> (int n) const
 
sc_subref_r< X > & lrotate (int n)
 
sc_subref_r< X > & rrotate (int n)
 
sc_subref_r< X > & reverse ()
 
sc_bitref< sc_subref_r< X > > operator[] (int i)
 
sc_bitref_r< sc_subref_r< X > > operator[] (int i) const
 
sc_bitref< sc_subref_r< X > > bit (int i)
 
sc_bitref_r< sc_subref_r< X > > bit (int i) const
 
sc_subref< sc_subref_r< X > > operator() (int hi, int lo)
 
sc_subref_r< sc_subref_r< X > > operator() (int hi, int lo) const
 
sc_subref< sc_subref_r< X > > range (int hi, int lo)
 
sc_subref_r< 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)
 

Private Member Functions

 sc_subref ()
 

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
 
- Protected Attributes inherited from sc_dt::sc_subref_r< X >
X & m_obj
 
int m_hi
 
int m_lo
 
int m_len
 

Detailed Description

template<class X>
class sc_dt::sc_subref< X >

Definition at line 861 of file sc_bit_proxies.hh.

Member Typedef Documentation

◆ base_type

template<class X >
typedef sc_subref_r<X> sc_dt::sc_subref< X >::base_type

Definition at line 865 of file sc_bit_proxies.hh.

Constructor & Destructor Documentation

◆ sc_subref() [1/3]

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

Definition at line 868 of file sc_bit_proxies.hh.

◆ sc_subref() [2/3]

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

Definition at line 871 of file sc_bit_proxies.hh.

◆ sc_subref() [3/3]

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

Member Function Documentation

◆ clone()

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

Definition at line 874 of file sc_bit_proxies.hh.

◆ operator=() [1/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const bool *  a)
inline

◆ operator=() [2/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const char *  a)
inline

◆ operator=() [3/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_int_base a)
inline

◆ operator=() [4/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_logic a)
inline

◆ operator=() [5/16]

template<class X >
template<class Y >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_proxy< Y > &  a)
inline

◆ operator=() [6/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_signed a)
inline

◆ operator=() [7/16]

template<class X >
sc_subref< X > & sc_dt::sc_subref< X >::operator= ( const sc_subref< X > &  a)
inline

Definition at line 1169 of file sc_lv_base.hh.

References gem5::ArmISA::b, gem5::ArmISA::i, len, sc_dt::sc_min(), and gem5::VegaISA::t.

◆ operator=() [8/16]

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

Definition at line 1151 of file sc_lv_base.hh.

References gem5::ArmISA::b, gem5::ArmISA::i, len, sc_dt::sc_min(), and gem5::VegaISA::t.

◆ operator=() [9/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_uint_base a)
inline

◆ operator=() [10/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_unsigned a)
inline

◆ operator=() [11/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( int  a)
inline

◆ operator=() [12/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( int64  a)
inline

◆ operator=() [13/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( long  a)
inline

◆ operator=() [14/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( uint64  a)
inline

◆ operator=() [15/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( unsigned int  a)
inline

◆ operator=() [16/16]

template<class X >
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( unsigned long  a)
inline

◆ scan()

template<class T >
void sc_dt::sc_subref< T >::scan ( ::std::istream &  is = ::std::cin)
inline

Definition at line 2557 of file sc_bit_proxies.hh.

References gem5::MipsISA::is, and gem5::VegaISA::s.


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

Generated on Wed Dec 21 2022 10:25:08 for gem5 by doxygen 1.9.1