クラス テンプレート sc_dt::sc_bitref_r< T >

#include <sc_bit_proxies.h>

すべてのメンバ一覧

Public メソッド

 sc_bitref_r (const T &obj_, int index_)
 sc_bitref_r (const sc_bitref_r< T > &a)
sc_bitref_r< T > * clone () const
const sc_logic operator~ () const
 operator const sc_logic () const
sc_logic_value_t value () const
bool is_01 () const
bool to_bool () const
char to_char () const
int length () const
int size () const
sc_logic_value_t get_bit (int n) const
sc_digit get_word (int i) const
sc_digit get_cword (int i) const
void print (::std::ostream &os=::std::cout) const

Protected 変数

T & m_obj
int m_index

Private メソッド

 sc_bitref_r ()
sc_bitref_r< T > & operator= (const sc_bitref_r< T > &)

フレンド

class sc_bv_base
class sc_lv_base


説明

template<class T>
class sc_dt::sc_bitref_r< T >

sc_bit_proxies.h87 行で定義されています。


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

template<class T>
sc_dt::sc_bitref_r< T >::sc_bitref_r ( const T &  obj_,
int  index_ 
) [inline]

sc_bit_proxies.h96 行で定義されています。

00097         : m_obj( CCAST<T&>( obj_ ) ), m_index( index_ )
00098         {}

template<class T>
sc_dt::sc_bitref_r< T >::sc_bitref_r ( const sc_bitref_r< T > &  a  )  [inline]

sc_bit_proxies.h103 行で定義されています。

00104         : m_obj( a.m_obj ), m_index( a.m_index )
00105         {}

template<class T>
sc_dt::sc_bitref_r< T >::sc_bitref_r (  )  [private]


関数

template<class T>
sc_bitref_r<T>* sc_dt::sc_bitref_r< T >::clone (  )  const [inline]

sc_dt::sc_bitref< X >で再定義されています。

sc_bit_proxies.h110 行で定義されています。

00111         { return new sc_bitref_r<T>( *this ); }

template<class T>
const sc_logic sc_dt::sc_bitref_r< T >::operator~ (  )  const [inline]

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

00119         { return sc_logic( sc_logic::not_table[value()] ); }

template<class T>
sc_dt::sc_bitref_r< T >::operator const sc_logic (  )  const [inline]

sc_bit_proxies.h124 行で定義されています。

00125         { return sc_logic( m_obj.get_bit( m_index ) ); }

template<class T>
sc_logic_value_t sc_dt::sc_bitref_r< T >::value (  )  const [inline]

sc_bit_proxies.h130 行で定義されています。

00131         { return m_obj.get_bit( m_index ); }

template<class T>
bool sc_dt::sc_bitref_r< T >::is_01 (  )  const [inline]

sc_bit_proxies.h134 行で定義されています。

00135         { return sc_logic( value() ).is_01(); }

template<class T>
bool sc_dt::sc_bitref_r< T >::to_bool (  )  const [inline]

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

00138         { return sc_logic( value() ).to_bool(); }

template<class T>
char sc_dt::sc_bitref_r< T >::to_char (  )  const [inline]

sc_bit_proxies.h140 行で定義されています。

00141         { return sc_logic( value() ).to_char(); }

template<class T>
int sc_dt::sc_bitref_r< T >::length (  )  const [inline]

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

00147         { return 1; }

template<class T>
int sc_dt::sc_bitref_r< T >::size (  )  const [inline]

sc_bit_proxies.h149 行で定義されています。

00150         { return ( (length() - 1) / SC_DIGIT_SIZE + 1 ); }

template<class T>
sc_logic_value_t sc_dt::sc_bitref_r< T >::get_bit ( int  n  )  const [inline]

sc_bit_proxies.h1971 行で定義されています。

01972 {
01973     if( n == 0 ) {
01974         return m_obj.get_bit( m_index );
01975     } else {
01976         SC_REPORT_ERROR( sc_core::SC_ID_OUT_OF_BOUNDS_ , 0 );
01977         // never reached
01978         return Log_0;
01979     }
01980 }

template<class T>
sc_digit sc_dt::sc_bitref_r< T >::get_word ( int  i  )  const [inline]

sc_bit_proxies.h1986 行で定義されています。

01987 {
01988     if( n == 0 ) {
01989         return ( get_bit( n ) & SC_DIGIT_ONE );
01990     } else {
01991         SC_REPORT_ERROR( sc_core::SC_ID_OUT_OF_BOUNDS_, 0 );
01992         // never reached
01993         return 0;
01994     }
01995 }

template<class T>
sc_digit sc_dt::sc_bitref_r< T >::get_cword ( int  i  )  const [inline]

sc_bit_proxies.h2000 行で定義されています。

02001 {
02002     if( n == 0 ) {
02003         return ( get_bit( n ) & SC_DIGIT_TWO );
02004     } else {
02005         SC_REPORT_ERROR( sc_core::SC_ID_OUT_OF_BOUNDS_, 0 );
02006         // never reached
02007         return 0;
02008     }
02009 }

template<class T>
void sc_dt::sc_bitref_r< T >::print ( ::std::ostream &  os = ::std::cout  )  const [inline]

sc_bit_proxies.h160 行で定義されています。

00161         { os << to_char(); }

template<class T>
sc_bitref_r<T>& sc_dt::sc_bitref_r< T >::operator= ( const sc_bitref_r< T > &   )  [private]

sc_dt::sc_bitref< X >で再定義されています。


フレンドと関連する関数

template<class T>
friend class sc_bv_base [friend]

sc_dt::sc_bitref< X >で再定義されています。

sc_bit_proxies.h89 行で定義されています。

template<class T>
friend class sc_lv_base [friend]

sc_dt::sc_bitref< X >で再定義されています。

sc_bit_proxies.h90 行で定義されています。


変数

template<class T>
T& sc_dt::sc_bitref_r< T >::m_obj [protected]

sc_bit_proxies.h165 行で定義されています。

template<class T>
int sc_dt::sc_bitref_r< T >::m_index [protected]

sc_bit_proxies.h166 行で定義されています。


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

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