クラス sc_dt::sc_uint_bitref_r

#include <sc_uint_base.h>

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

Inheritance graph
[凡例]

すべてのメンバ一覧

Public メソッド

 sc_uint_bitref_r (const sc_uint_bitref_r &init)
virtual ~sc_uint_bitref_r ()
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
int length () 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_uint_bitref_r ()
void initialize (const sc_uint_base *obj_p, int index_)

Protected 変数

int m_index
sc_uint_basem_obj_p

Private メソッド

sc_uint_bitref_roperator= (const sc_uint_bitref_r &)

フレンド

class sc_uint_base
class sc_uint_signal


説明

sc_uint_base.h118 行で定義されています。


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

sc_dt::sc_uint_bitref_r::sc_uint_bitref_r ( const sc_uint_bitref_r init  )  [inline]

sc_uint_base.h127 行で定義されています。

00127                                                      :
00128          m_index(init.m_index), m_obj_p(init.m_obj_p)
00129          {}

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

sc_uint_base.h132 行で定義されています。

00133         {}

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

sc_uint_base.h147 行で定義されています。

00148         {}


関数

void sc_dt::sc_uint_bitref_r::initialize ( const sc_uint_base obj_p,
int  index_ 
) [inline, protected]

sc_uint_base.h137 行で定義されています。

00138     {
00139         m_obj_p = (sc_uint_base*)obj_p;
00140         m_index = index_;
00141     }

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

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

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

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

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

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

sc_uint_base.h154 行で定義されています。

00155         {
00156             int  bit_mask = 1 << (low_i % BITS_PER_DIGIT);
00157             int  word_i = low_i / BITS_PER_DIGIT;
00158 
00159             dst_p[word_i] &= ~bit_mask;
00160             return false;
00161         }

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

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

sc_uint_base.h162 行で定義されています。

00163         {
00164             int  bit_mask = 1 << (low_i % BITS_PER_DIGIT);
00165             bool result;             // True is non-zero.
00166             int  word_i = low_i / BITS_PER_DIGIT;
00167 
00168             if ( operator uint64() )
00169             {
00170                 dst_p[word_i] |= bit_mask;
00171                 result = true;
00172             }
00173             else
00174             {
00175                 dst_p[word_i] &= ~bit_mask;
00176                 result = false;
00177             }
00178             return result;
00179         }

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

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

sc_uint_base.h180 行で定義されています。

00181         { return operator uint64(); }

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

sc_uint_base.h185 行で定義されています。

00186         { return 1; }

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

sc_uint_base.h863 行で定義されています。

00864 {
00865     return m_obj_p->test( m_index );
00866 }

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

sc_uint_base.h870 行で定義されています。

00871 {
00872     return ! m_obj_p->test( m_index );
00873 }

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

sc_uint_base.h877 行で定義されています。

00878 {
00879     return ! m_obj_p->test( m_index );
00880 }

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

sc_uint_base.h203 行で定義されています。

00204         { return operator uint64 (); }

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

sc_uint_base.h206 行で定義されています。

00207         { return operator uint64 (); }

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

sc_uint_base.h212 行で定義されています。

00213         { os << to_bool(); }

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

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


フレンドと関連する関数

friend class sc_uint_base [friend]

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

sc_uint_base.h120 行で定義されています。

friend class sc_uint_signal [friend]

sc_uint_base.h121 行で定義されています。


変数

sc_uint_base.h217 行で定義されています。

sc_uint_base.h218 行で定義されています。


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

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