SystemC 3.0.0
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Functions | Variables
sc_proxy.h File Reference
#include "sysc/kernel/sc_cmnhdr.h"
#include "sysc/utils/sc_iostream.h"
#include "sysc/datatypes/int/sc_signed.h"
#include "sysc/datatypes/int/sc_unsigned.h"
#include "sysc/datatypes/int/sc_int_base.h"
#include "sysc/datatypes/int/sc_uint_base.h"
#include "sysc/utils/sc_string.h"
#include "sysc/datatypes/bit/sc_bit.h"
#include "sysc/datatypes/bit/sc_bit_ids.h"
#include "sysc/datatypes/bit/sc_logic.h"
#include "sysc/kernel/sc_macros.h"
Include dependency graph for sc_proxy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  sc_dt::sc_proxy_traits< sc_bv_base >
 
struct  sc_dt::sc_proxy_traits< sc_lv_base >
 
struct  sc_dt::sc_proxy_traits< sc_bitref_r< X > >
 
struct  sc_dt::sc_proxy_traits< sc_bitref< X > >
 
struct  sc_dt::sc_proxy_traits< sc_subref_r< X > >
 
struct  sc_dt::sc_proxy_traits< sc_subref< X > >
 
struct  sc_dt::sc_proxy_traits< sc_proxy< X > >
 
struct  sc_dt::sc_mixed_proxy_traits_helper< X, Y >
 
struct  sc_dt::sc_mixed_proxy_traits_helper< X, X >
 
struct  sc_dt::sc_proxy_traits< sc_concref_r< X, Y > >
 
struct  sc_dt::sc_proxy_traits< sc_concref< X, Y > >
 
class  sc_dt::sc_proxy< X >
 

Namespaces

namespace  sc_dt
 

Macros

#define DECL_BITWISE_AND_OP_T(tp)
 
#define DECL_BITWISE_OR_OP_T(tp)
 
#define DECL_BITWISE_XOR_OP_T(tp)
 
#define DECL_REL_OP_T(tp)
 
#define DEFN_REL_OP_T(tp)
 

Functions

SC_API void sc_dt::sc_proxy_out_of_bounds (const char *msg=NULL, int64 val=0)
 
template<class X , class Y >
void sc_dt::assign_p_ (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class T >
void sc_dt::assign_v_ (sc_proxy< X > &px, const T &a)
 
SC_API std::string sc_dt::convert_to_bin (const char *s)
 
SC_API std::string sc_dt::convert_to_fmt (const std::string &s, sc_numrep numrep, bool)
 
template<class X , class Y >
X & sc_dt::operator&= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
sc_lv_base sc_dt::operator& (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
X & sc_dt::operator|= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
sc_lv_base sc_dt::operator| (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
X & sc_dt::operator^= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
sc_lv_base sc_dt::operator^ (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
bool sc_dt::operator== (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
bool sc_dt::operator!= (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X >
void sc_dt::get_words_ (const X &x, int wi, sc_digit &x_dw, sc_digit &x_cw)
 
template<class X >
void sc_dt::set_words_ (X &x, int wi, sc_digit x_dw, sc_digit x_cw)
 
template<class X >
void sc_dt::extend_sign_w_ (X &x, int wi, bool sign)
 
template<class X >
void sc_dt::assign_v_ (sc_proxy< X > &px, const sc_int_base &a)
 
template<class X >
void sc_dt::assign_v_ (sc_proxy< X > &px, const sc_signed &a)
 
template<class X >
void sc_dt::assign_v_ (sc_proxy< X > &px, const sc_uint_base &a)
 
template<class X >
void sc_dt::assign_v_ (sc_proxy< X > &px, const sc_unsigned &a)
 
template<class X , class Y >
X & sc_dt::b_and_assign_ (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
X & sc_dt::b_or_assign_ (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
X & sc_dt::b_xor_assign_ (sc_proxy< X > &a, const sc_proxy< Y > &b)
 
template<class X >
sc_lv_base sc_dt::lrotate (const sc_proxy< X > &x, int n)
 
template<class X >
sc_lv_base sc_dt::rrotate (const sc_proxy< X > &x, int n)
 
template<class X >
sc_lv_base sc_dt::reverse (const sc_proxy< X > &x)
 
template<class X >
sc_proxy< X >::value_type sc_dt::and_reduce (const sc_proxy< X > &a)
 
template<class X >
sc_proxy< X >::value_type sc_dt::nand_reduce (const sc_proxy< X > &a)
 
template<class X >
sc_proxy< X >::value_type sc_dt::or_reduce (const sc_proxy< X > &a)
 
template<class X >
sc_proxy< X >::value_type sc_dt::nor_reduce (const sc_proxy< X > &a)
 
template<class X >
sc_proxy< X >::value_type sc_dt::xor_reduce (const sc_proxy< X > &a)
 
template<class X >
sc_proxy< X >::value_type sc_dt::xnor_reduce (const sc_proxy< X > &a)
 
template<class X >
inline::std::ostream & sc_dt::operator<< (::std::ostream &os, const sc_proxy< X > &a)
 
template<class X >
inline::std::istream & sc_dt::operator>> (::std::istream &is, sc_proxy< X > &a)
 

Variables

const int sc_dt::SC_DIGIT_SIZE = BITS_PER_BYTE * sizeof( sc_digit )
 
const sc_digit sc_dt::SC_DIGIT_ZERO = (sc_digit)0
 
const sc_digit sc_dt::SC_DIGIT_ONE = (sc_digit)1
 
const sc_digit sc_dt::SC_DIGIT_TWO = (sc_digit)2
 

Macro Definition Documentation

◆ DECL_BITWISE_AND_OP_T

#define DECL_BITWISE_AND_OP_T (   tp)
Value:
template <class X> \
inline \
sc_lv_base \
operator & ( tp b, const sc_proxy<X>& px );
uint64 const sc_uint_base int b
Definition: sc_fxval.h:955

Definition at line 558 of file sc_proxy.h.

◆ DECL_BITWISE_OR_OP_T

#define DECL_BITWISE_OR_OP_T (   tp)
Value:
template <class X> \
inline \
sc_lv_base \
operator | ( tp a, const sc_proxy<X>& px );

Definition at line 595 of file sc_proxy.h.

◆ DECL_BITWISE_XOR_OP_T

#define DECL_BITWISE_XOR_OP_T (   tp)
Value:
template <class X> \
inline \
sc_lv_base \
operator ^ ( tp a, const sc_proxy<X>& px );

Definition at line 632 of file sc_proxy.h.

◆ DECL_REL_OP_T

#define DECL_REL_OP_T (   tp)
Value:
template <class X> \
inline \
bool \
operator == ( tp b, const sc_proxy<X>& px ); \
\
template <class X> \
inline \
bool \
operator != ( const sc_proxy<X>& px, tp b ); \
\
template <class X> \
inline \
bool \
operator != ( tp b, const sc_proxy<X>& px );

Definition at line 668 of file sc_proxy.h.

◆ DEFN_REL_OP_T

#define DEFN_REL_OP_T (   tp)
Value:
template <class X> \
inline \
bool \
operator == ( tp b, const sc_proxy<X>& px ) \
{ \
return ( px == b ); \
} \
\
template <class X> \
inline \
bool \
operator != ( const sc_proxy<X>& px, tp b ) \
{ \
return !( px == b ); \
} \
\
template <class X> \
inline \
bool \
operator != ( tp b, const sc_proxy<X>& px ) \
{ \
return !( px == b ); \
}

Definition at line 1339 of file sc_proxy.h.