SystemC  2.3.1
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Functions
sc_lv_base.h File Reference
#include "sysc/datatypes/bit/sc_bit_ids.h"
#include "sysc/datatypes/bit/sc_bv_base.h"
#include "sysc/datatypes/bit/sc_logic.h"
#include "sysc/datatypes/int/sc_length_param.h"
Include dependency graph for sc_lv_base.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  sc_dt::sc_lv_base
 

Namespaces

 sc_dt
 

Macros

#define DEFN_BITWISE_AND_ASN_OP_T(tp)
 
#define DEFN_BITWISE_AND_OP_T_A(tp)
 
#define DEFN_BITWISE_AND_OP_T_B(tp)
 
#define DEFN_BITWISE_OR_ASN_OP_T(tp)
 
#define DEFN_BITWISE_OR_OP_T_A(tp)
 
#define DEFN_BITWISE_OR_OP_T_B(tp)
 
#define DEFN_BITWISE_XOR_ASN_OP_T(tp)
 
#define DEFN_BITWISE_XOR_OP_T_A(tp)
 
#define DEFN_BITWISE_XOR_OP_T_B(tp)
 
#define DEFN_REL_OP_T(tp)
 

Functions

template<class X , class Y >
X & sc_dt::operator&= (sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X , class Y >
const 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 >
const 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 >
const sc_lv_base sc_dt::operator^ (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class X >
const sc_lv_base sc_dt::lrotate (const sc_proxy< X > &x, int n)
 
template<class X >
const sc_lv_base sc_dt::rrotate (const sc_proxy< X > &x, int n)
 
template<class X >
const sc_lv_base sc_dt::reverse (const sc_proxy< X > &x)
 
template<class X , class Y >
bool sc_dt::operator== (const sc_proxy< X > &px, const sc_proxy< Y > &py)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_bitref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::operator, (const char *, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_bitref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::operator, (const sc_logic &, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_bv_base > 
sc_dt::operator, (sc_bitref_r< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_bitref_r< T > > 
sc_dt::operator, (bool a, sc_bitref_r< T > b)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_bitref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::concat (const char *, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_bitref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::concat (const sc_logic &, sc_bitref_r< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_bv_base > 
sc_dt::concat (sc_bitref_r< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_bitref_r< T > > 
sc_dt::concat (bool a, sc_bitref_r< T > b)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_bitref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::operator, (const char *, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_bitref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::operator, (const sc_logic &, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_bv_base > 
sc_dt::operator, (sc_bitref< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_bitref_r< T > > 
sc_dt::operator, (bool a, sc_bitref< T > b)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_bitref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::concat (const char *, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_bitref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_bitref_r< T > > 
sc_dt::concat (const sc_logic &, sc_bitref< T >)
 
template<class T >
sc_concref_r< sc_bitref_r< T >
, sc_bv_base > 
sc_dt::concat (sc_bitref< T > a, bool b)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_bitref_r< T > > 
sc_dt::concat (bool a, sc_bitref< T > b)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_subref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::operator, (const char *, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_subref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::operator, (const sc_logic &, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_bv_base > 
sc_dt::operator, (sc_subref_r< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_subref_r< T > > 
sc_dt::operator, (bool, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_subref_r< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::concat (const char *, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_subref_r< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::concat (const sc_logic &, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_bv_base > 
sc_dt::concat (sc_subref_r< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_subref_r< T > > 
sc_dt::concat (bool, sc_subref_r< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_subref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::operator, (const char *, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::operator, (sc_subref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::operator, (const sc_logic &, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_bv_base > 
sc_dt::operator, (sc_subref< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_subref_r< T > > 
sc_dt::operator, (bool, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_subref< T >, const char *)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::concat (const char *, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_lv_base > 
sc_dt::concat (sc_subref< T >, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base,
sc_subref_r< T > > 
sc_dt::concat (const sc_logic &, sc_subref< T >)
 
template<class T >
sc_concref_r< sc_subref_r< T >
, sc_bv_base > 
sc_dt::concat (sc_subref< T >, bool)
 
template<class T >
sc_concref_r< sc_bv_base,
sc_subref_r< T > > 
sc_dt::concat (bool, sc_subref< T >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::operator, (sc_concref_r< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::operator, (const char *, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::operator, (sc_concref_r< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::operator, (const sc_logic &, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_bv_base > 
sc_dt::operator, (sc_concref_r< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base,
sc_concref_r< T1, T2 > > 
sc_dt::operator, (bool, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::concat (sc_concref_r< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::concat (const char *, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::concat (sc_concref_r< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::concat (const sc_logic &, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_bv_base > 
sc_dt::concat (sc_concref_r< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base,
sc_concref_r< T1, T2 > > 
sc_dt::concat (bool, sc_concref_r< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::operator, (sc_concref< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::operator, (const char *, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::operator, (sc_concref< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::operator, (const sc_logic &, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_bv_base > 
sc_dt::operator, (sc_concref< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base,
sc_concref_r< T1, T2 > > 
sc_dt::operator, (bool, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::concat (sc_concref< T1, T2 >, const char *)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::concat (const char *, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_lv_base > 
sc_dt::concat (sc_concref< T1, T2 >, const sc_logic &)
 
template<class T1 , class T2 >
sc_concref_r< sc_lv_base,
sc_concref_r< T1, T2 > > 
sc_dt::concat (const sc_logic &, sc_concref< T1, T2 >)
 
template<class T1 , class T2 >
sc_concref_r< sc_concref_r< T1,
T2 >, sc_bv_base > 
sc_dt::concat (sc_concref< T1, T2 >, bool)
 
template<class T1 , class T2 >
sc_concref_r< sc_bv_base,
sc_concref_r< T1, T2 > > 
sc_dt::concat (bool, sc_concref< T1, T2 >)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (const sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const char *, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (const sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const sc_logic &, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::operator, (const sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::operator, (bool, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (const sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const char *, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (const sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const sc_logic &, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::concat (const sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::concat (bool, const sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const char *, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::operator, (sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::operator, (const sc_logic &, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::operator, (sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::operator, (bool, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (sc_proxy< T > &, const char *)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const char *, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_lv_base > sc_dt::concat (sc_proxy< T > &, const sc_logic &)
 
template<class T >
sc_concref_r< sc_lv_base, T > sc_dt::concat (const sc_logic &, sc_proxy< T > &)
 
template<class T >
sc_concref_r< T, sc_bv_base > sc_dt::concat (sc_proxy< T > &, bool)
 
template<class T >
sc_concref_r< sc_bv_base, T > sc_dt::concat (bool, sc_proxy< T > &)
 

Macro Definition Documentation

#define DEFN_BITWISE_AND_ASN_OP_T (   tp)
Value:
template <class X> \
inline \
X& \
sc_proxy<X>::operator &= ( tp b ) \
{ \
X& x = back_cast(); \
sc_lv_base a( x.length() ); \
a = b; \
return b_and_assign_( x, a ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
X & b_and_assign_(sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_proxy.h:1065

Definition at line 388 of file sc_lv_base.h.

#define DEFN_BITWISE_AND_OP_T_A (   tp)
Value:
template <class X> \
inline \
{ \
sc_lv_base a( back_cast() ); \
return ( a &= b ); \
}
const sc_lv_base operator&(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.h:416
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003

Definition at line 423 of file sc_lv_base.h.

#define DEFN_BITWISE_AND_OP_T_B (   tp)
Value:
template <class X> \
inline \
operator & ( tp b, const sc_proxy<X>& px ) \
{ \
return ( px & b ); \
}
const sc_lv_base operator&(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.h:416
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003

Definition at line 450 of file sc_lv_base.h.

#define DEFN_BITWISE_OR_ASN_OP_T (   tp)
Value:
template <class X> \
inline \
X& \
sc_proxy<X>::operator |= ( tp b ) \
{ \
X& x = back_cast(); \
sc_lv_base a( x.length() ); \
a = b; \
return b_or_assign_( x, a ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
X & b_or_assign_(sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_proxy.h:1089

Definition at line 490 of file sc_lv_base.h.

#define DEFN_BITWISE_OR_OP_T_A (   tp)
Value:
template <class X> \
inline \
{ \
sc_lv_base a( back_cast() ); \
return ( a |= b ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
const sc_lv_base operator|(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.h:518

Definition at line 525 of file sc_lv_base.h.

#define DEFN_BITWISE_OR_OP_T_B (   tp)
Value:
template <class X> \
inline \
operator | ( tp b, const sc_proxy<X>& px ) \
{ \
return ( px | b ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
const sc_lv_base operator|(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.h:518

Definition at line 552 of file sc_lv_base.h.

#define DEFN_BITWISE_XOR_ASN_OP_T (   tp)
Value:
template <class X> \
inline \
X& \
sc_proxy<X>::operator ^= ( tp b ) \
{ \
X& x = back_cast(); \
sc_lv_base a( x.length() ); \
a = b; \
return b_xor_assign_( x, a ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
X & b_xor_assign_(sc_proxy< X > &a, const sc_proxy< Y > &b)
Definition: sc_proxy.h:1113

Definition at line 592 of file sc_lv_base.h.

#define DEFN_BITWISE_XOR_OP_T_A (   tp)
Value:
template <class X> \
inline \
{ \
sc_lv_base a( back_cast() ); \
return ( a ^= b ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
const sc_lv_base operator^(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.h:620

Definition at line 627 of file sc_lv_base.h.

#define DEFN_BITWISE_XOR_OP_T_B (   tp)
Value:
template <class X> \
inline \
operator ^ ( tp b, const sc_proxy<X>& px ) \
{ \
return ( px ^ b ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003
const sc_lv_base operator^(const sc_proxy< X > &px, const sc_proxy< Y > &py)
Definition: sc_lv_base.h:620

Definition at line 654 of file sc_lv_base.h.

#define DEFN_REL_OP_T (   tp)
Value:
template <class X> \
inline \
bool \
sc_proxy<X>::operator == ( tp b ) const \
{ \
const X& x = back_cast(); \
sc_lv_base y( x.length() ); \
y = b; \
return ( x == y ); \
}
uint64 const sc_uint_base int b
Definition: sc_fxval.h:1003

Definition at line 820 of file sc_lv_base.h.