クラス sc_dt::sc_int_bitref_r

#include <sc_int_base.h>

sc_dt::sc_int_bitref_rに対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

 sc_int_bitref_r (const sc_int_bitref_r &a)
virtual ~sc_int_bitref_r ()
int length () const
virtual int concat_length (bool *xz_present_p) const
virtual bool concat_get_ctrl (sc_digit *dst_p, int low_i) const
virtual bool concat_get_data (sc_digit *dst_p, int low_i) const
virtual uint64 concat_get_uint64 () const
 operator uint64 () const
bool operator! () const
bool operator~ () const
uint64 value () const
bool to_bool () const
void print (::std::ostream &os=::std::cout) const

Protected メソッド

 sc_int_bitref_r ()
void initialize (const sc_int_base *obj_p, int index_)

Protected 変数

int m_index
sc_int_basem_obj_p

Private メソッド

sc_int_bitref_roperator= (const sc_int_bitref_r &)

フレンド

class sc_int_base


説明

sc_int_base.h123 行で定義されています。


コンストラクタとデストラクタ

sc_dt::sc_int_bitref_r::sc_int_bitref_r (  )  [inline, protected]

sc_int_base.h131 行で定義されています。

00132         {}

sc_dt::sc_int_bitref_r::sc_int_bitref_r ( const sc_int_bitref_r a  )  [inline]

sc_int_base.h146 行で定義されています。

00146                                                 :
00147         m_index(a.m_index), m_obj_p(a.m_obj_p)
00148         {}

virtual sc_dt::sc_int_bitref_r::~sc_int_bitref_r (  )  [inline, virtual]

sc_int_base.h152 行で定義されています。

00153         {}


関数

void sc_dt::sc_int_bitref_r::initialize ( const sc_int_base obj_p,
int  index_ 
) [inline, protected]

sc_int_base.h136 行で定義されています。

00137     {
00138         m_obj_p = (sc_int_base*)obj_p;
00139         m_index = index_;
00140     }

int sc_dt::sc_int_bitref_r::length (  )  const [inline]

sc_int_base.h157 行で定義されています。

00158         { return 1; }

virtual int sc_dt::sc_int_bitref_r::concat_length ( bool *  xz_present_p  )  const [inline, virtual]

sc_dt::sc_value_baseを再定義しています。

sc_int_base.h167 行で定義されています。

00168         { if (xz_present_p) *xz_present_p = false; return 1; }

virtual bool sc_dt::sc_int_bitref_r::concat_get_ctrl ( sc_digit dst_p,
int  low_i 
) const [inline, virtual]

sc_dt::sc_value_baseを再定義しています。

sc_int_base.h169 行で定義されています。

00170         {
00171             int bit_mask = 1 << (low_i % BITS_PER_DIGIT);
00172             int word_i = low_i / BITS_PER_DIGIT;
00173 
00174             dst_p[word_i] &= ~bit_mask;
00175             return false;
00176         }

virtual bool sc_dt::sc_int_bitref_r::concat_get_data ( sc_digit dst_p,
int  low_i 
) const [inline, virtual]

sc_dt::sc_value_baseを再定義しています。

sc_int_base.h177 行で定義されています。

00178         {
00179             bool non_zero;
00180             int bit_mask = 1 << (low_i % BITS_PER_DIGIT);
00181             int word_i = low_i / BITS_PER_DIGIT;
00182 
00183             if ( operator uint64() )
00184             {
00185                 dst_p[word_i] |= bit_mask;
00186                 non_zero = true;
00187             }
00188             else
00189             {
00190                 dst_p[word_i] &= ~bit_mask;
00191                 non_zero = false;
00192             }
00193             return non_zero;
00194         }

virtual uint64 sc_dt::sc_int_bitref_r::concat_get_uint64 (  )  const [inline, virtual]

sc_dt::sc_value_baseを再定義しています。

sc_int_base.h195 行で定義されています。

00196         { return operator uint64(); }

sc_dt::sc_int_bitref_r::operator uint64 (  )  const [inline]

sc_int_base.h883 行で定義されています。

00884 {
00885     return m_obj_p->test( m_index );
00886 }

bool sc_dt::sc_int_bitref_r::operator! (  )  const [inline]

sc_int_base.h890 行で定義されています。

00891 {
00892     return ! m_obj_p->test( m_index );
00893 }

bool sc_dt::sc_int_bitref_r::operator~ (  )  const [inline]

sc_int_base.h897 行で定義されています。

00898 {
00899     return ! m_obj_p->test( m_index );
00900 }

uint64 sc_dt::sc_int_bitref_r::value (  )  const [inline]

sc_int_base.h210 行で定義されています。

00211         { return operator uint64(); }

bool sc_dt::sc_int_bitref_r::to_bool (  )  const [inline]

sc_int_base.h213 行で定義されています。

00214         { return operator uint64(); }

void sc_dt::sc_int_bitref_r::print ( ::std::ostream &  os = ::std::cout  )  const [inline]

sc_int_base.h219 行で定義されています。

00220         { os << to_bool(); }

sc_int_bitref_r& sc_dt::sc_int_bitref_r::operator= ( const sc_int_bitref_r  )  [private]

sc_dt::sc_int_bitrefで再定義されています。


フレンドと関連する関数

friend class sc_int_base [friend]

sc_dt::sc_int_bitrefで再定義されています。

sc_int_base.h125 行で定義されています。


変数

sc_int_base.h223 行で定義されています。

sc_int_base.h224 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SystemCに対してFri Jun 6 20:12:50 2008に生成されました。  doxygen 1.5.6