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

#include <sc_bit_proxies.hh>

Inheritance diagram for sc_dt::sc_concref_r< X, Y >:
sc_dt::sc_proxy< sc_concref_r< X, Y > > sc_dt::sc_concref< X, Y >

Public Types

typedef sc_proxy< sc_concref_r< X, Y > >::value_type value_type
Public Types inherited from sc_dt::sc_proxy< sc_concref_r< X, Y > >
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_concref_r (const X &left_, const Y &right_, int delete_=0)
 sc_concref_r (const sc_concref_r< X, Y > &a)
virtual ~sc_concref_r ()
sc_concref_r< X, Y > * 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
Public Member Functions inherited from sc_dt::sc_proxy< sc_concref_r< X, Y > >
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_left
Y & m_right
int m_delete
int & m_refs

Private Member Functions

 sc_concref_r ()
sc_concref_r< X, Y > & operator= (const sc_concref_r< X, Y > &)

Additional Inherited Members

Protected Member Functions inherited from sc_dt::sc_proxy< sc_concref_r< X, Y > >
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 Y>
class sc_dt::sc_concref_r< X, Y >

Definition at line 1034 of file sc_bit_proxies.hh.

Member Typedef Documentation

◆ value_type

template<class X, class Y>
typedef sc_proxy<sc_concref_r<X,Y>>::value_type sc_dt::sc_concref_r< X, Y >::value_type

Definition at line 1037 of file sc_bit_proxies.hh.

Constructor & Destructor Documentation

◆ sc_concref_r() [1/3]

template<class X, class Y>
sc_dt::sc_concref_r< X, Y >::sc_concref_r ( const X & left_,
const Y & right_,
int delete_ = 0 )
inline

◆ sc_concref_r() [2/3]

template<class X, class Y>
sc_dt::sc_concref_r< X, Y >::sc_concref_r ( const sc_concref_r< X, Y > & a)
inline

Definition at line 1046 of file sc_bit_proxies.hh.

References a, m_delete, m_left, m_refs, m_right, and sc_concref_r().

◆ ~sc_concref_r()

template<class X, class Y>
sc_dt::sc_concref_r< X, Y >::~sc_concref_r ( )
inlinevirtual

Definition at line 2645 of file sc_bit_proxies.hh.

References m_delete, m_left, m_refs, and m_right.

◆ sc_concref_r() [3/3]

template<class X, class Y>
sc_dt::sc_concref_r< X, Y >::sc_concref_r ( )
private

Referenced by clone().

Member Function Documentation

◆ clean_tail()

template<class X, class Y>
void sc_dt::sc_concref_r< X, Y >::clean_tail ( )
inline

Definition at line 1071 of file sc_bit_proxies.hh.

References m_left, and m_right.

◆ clone()

template<class X, class Y>
sc_concref_r< X, Y > * sc_dt::sc_concref_r< X, Y >::clone ( ) const
inline

Definition at line 1055 of file sc_bit_proxies.hh.

References sc_concref_r(), and sc_concref_r().

◆ get_bit()

template<class X, class Y>
sc_concref_r< X, Y >::value_type sc_dt::sc_concref_r< X, Y >::get_bit ( int n) const
inline

◆ get_cword()

template<class X, class Y>
sc_digit sc_dt::sc_concref_r< X, Y >::get_cword ( int i) const
inline

◆ get_word()

template<class X, class Y>
sc_digit sc_dt::sc_concref_r< X, Y >::get_word ( int i) const
inline

◆ is_01()

template<class X, class Y>
bool sc_dt::sc_concref_r< X, Y >::is_01 ( ) const
inline

Definition at line 1074 of file sc_bit_proxies.hh.

References m_left, and m_right.

◆ length()

template<class X, class Y>
int sc_dt::sc_concref_r< X, Y >::length ( ) const
inline

Definition at line 1058 of file sc_bit_proxies.hh.

References m_left, and m_right.

Referenced by size().

◆ operator=()

template<class X, class Y>
sc_concref_r< X, Y > & sc_dt::sc_concref_r< X, Y >::operator= ( const sc_concref_r< X, Y > & )
private

References sc_concref_r().

◆ set_bit()

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

Definition at line 2679 of file sc_bit_proxies.hh.

References m_left, m_right, sc_core::SC_ID_OUT_OF_BOUNDS_, and SC_REPORT_ERROR.

◆ set_cword()

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

◆ set_word()

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

◆ size()

template<class X, class Y>
int sc_dt::sc_concref_r< X, Y >::size ( ) const
inline

Definition at line 1060 of file sc_bit_proxies.hh.

References length(), and sc_dt::SC_DIGIT_SIZE.

Referenced by get_cword(), get_word(), set_cword(), and set_word().

Member Data Documentation

◆ m_delete

template<class X, class Y>
int sc_dt::sc_concref_r< X, Y >::m_delete
mutableprotected

Definition at line 1079 of file sc_bit_proxies.hh.

Referenced by sc_concref_r(), sc_concref_r(), and ~sc_concref_r().

◆ m_left

template<class X, class Y>
X& sc_dt::sc_concref_r< X, Y >::m_left
protected

◆ m_refs

template<class X, class Y>
int& sc_dt::sc_concref_r< X, Y >::m_refs
protected

Definition at line 1080 of file sc_bit_proxies.hh.

Referenced by sc_concref_r(), sc_concref_r(), and ~sc_concref_r().

◆ m_right

template<class X, class Y>
Y& sc_dt::sc_concref_r< X, Y >::m_right
protected

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