クラス テンプレート sc_dt::sc_subref< X >

#include <sc_bit_proxies.h>

sc_dt::sc_subref< X >に対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public 型

typedef sc_subref_r< X > base_type

Public メソッド

 sc_subref (X &obj_, int hi_, int lo_)
 sc_subref (const sc_subref< X > &a)
sc_subref< X > * clone () const
template<class Y>
sc_subref< X > & operator= (const sc_proxy< Y > &a)
sc_subref< X > & operator= (const sc_subref_r< X > &a)
sc_subref< X > & operator= (const sc_subref< X > &a)
sc_subref< X > & operator= (const char *a)
sc_subref< X > & operator= (const bool *a)
sc_subref< X > & operator= (const sc_logic *a)
sc_subref< X > & operator= (const sc_unsigned &a)
sc_subref< X > & operator= (const sc_signed &a)
sc_subref< X > & operator= (const sc_uint_base &a)
sc_subref< X > & operator= (const sc_int_base &a)
sc_subref< X > & operator= (unsigned long a)
sc_subref< X > & operator= (long a)
sc_subref< X > & operator= (unsigned int a)
sc_subref< X > & operator= (int a)
sc_subref< X > & operator= (uint64 a)
sc_subref< X > & operator= (int64 a)
void scan (::std::istream &=::std::cin)

Private メソッド

 sc_subref ()


説明

template<class X>
class sc_dt::sc_subref< X >

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


型定義

template<class X>
typedef sc_subref_r<X> sc_dt::sc_subref< X >::base_type

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


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

template<class X>
sc_dt::sc_subref< X >::sc_subref ( X &  obj_,
int  hi_,
int  lo_ 
) [inline]

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

00999         : sc_subref_r<X>( obj_, hi_, lo_ )
01000         {}

template<class X>
sc_dt::sc_subref< X >::sc_subref ( const sc_subref< X > &  a  )  [inline]

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

01006         : sc_subref_r<X>( a )
01007         {}

template<class X>
sc_dt::sc_subref< X >::sc_subref (  )  [private]


関数

template<class X>
sc_subref<X>* sc_dt::sc_subref< X >::clone (  )  const [inline]

sc_dt::sc_subref_r< X >を再定義しています。

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

01013         { return new sc_subref<X>( *this ); }

template<class X>
template<class Y>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_proxy< Y > &  a  )  [inline]

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

01020         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref< X > & sc_dt::sc_subref< X >::operator= ( const sc_subref_r< X > &  a  )  [inline]

sc_dt::sc_subref_r< X >を再定義しています。

sc_lv_base.h1311 行で定義されています。

01312 {
01313     sc_lv_base t( b ); // (partial) self assignment protection
01314     int len = sc_min( this->length(), t.length() );
01315     if( ! this->reversed() ) {
01316         for( int i = len - 1; i >= 0; -- i ) {
01317             this->m_obj.set_bit( this->m_lo + i, t[i].value() );
01318         }
01319     } else {
01320         for( int i = len - 1; i >= 0; -- i ) {
01321             this->m_obj.set_bit( this->m_lo - i, t[i].value() );
01322         }
01323     }
01324     return *this;
01325 }

template<class X>
sc_subref< X > & sc_dt::sc_subref< X >::operator= ( const sc_subref< X > &  a  )  [inline]

sc_lv_base.h1330 行で定義されています。

01331 {
01332     sc_lv_base t( b ); // (partial) self assignment protection
01333     int len = sc_min( this->length(), t.length() );
01334     if( ! this->reversed() ) {
01335         for( int i = len - 1; i >= 0; -- i ) {
01336             this->m_obj.set_bit( this->m_lo + i, t[i].value() );
01337         }
01338     } else {
01339         for( int i = len - 1; i >= 0; -- i ) {
01340             this->m_obj.set_bit( this->m_lo - i, t[i].value() );
01341         }
01342     }
01343     return *this;
01344 }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const char *  a  )  [inline]

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

01026         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const bool *  a  )  [inline]

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

01029         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_logic a  )  [inline]

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

01032         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_unsigned a  )  [inline]

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

01035         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_signed a  )  [inline]

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

01038         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_uint_base a  )  [inline]

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

01041         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( const sc_int_base a  )  [inline]

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

01044         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( unsigned long  a  )  [inline]

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

01047         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( long  a  )  [inline]

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

01050         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( unsigned int  a  )  [inline]

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

01053         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( int  a  )  [inline]

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

01056         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( uint64  a  )  [inline]

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

01059         { base_type::assign_( a ); return *this; }

template<class X>
sc_subref<X>& sc_dt::sc_subref< X >::operator= ( int64  a  )  [inline]

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

01062         { base_type::assign_( a ); return *this; }

template<class T>
void sc_dt::sc_subref< T >::scan ( ::std::istream &  is = ::std::cin  )  [inline]

sc_dt::sc_proxy< X >を再定義しています。

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

02914 {
02915     std::string s;
02916     is >> s;
02917     *this = s.c_str();
02918 }


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

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