クラス テンプレート sc_core::sc_buffer< T >

#include <sc_buffer.h>

sc_core::sc_buffer< T >に対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public 型

typedef sc_buffer< T > this_type
typedef sc_signal< T > base_type

Public メソッド

 sc_buffer ()
 sc_buffer (const char *name_)
virtual void write (const T &)
sc_buffer< T > & operator= (const T &a)
sc_buffer< T > & operator= (const base_type &a)
sc_buffer< T > & operator= (const this_type &a)
virtual const char * kind () const

Protected メソッド

virtual void update ()

Private メソッド

 sc_buffer (const sc_buffer< T > &)


説明

template<class T>
class sc_core::sc_buffer< T >

sc_buffer.h92 行で定義されています。


型定義

template<class T>
typedef sc_buffer<T> sc_core::sc_buffer< T >::this_type

sc_buffer.h99 行で定義されています。

template<class T>
typedef sc_signal<T> sc_core::sc_buffer< T >::base_type

sc_buffer.h100 行で定義されています。


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

template<class T>
sc_core::sc_buffer< T >::sc_buffer (  )  [inline]

sc_buffer.h106 行で定義されています。

00107         : base_type( sc_gen_unique_name( "buffer" ) )
00108         {}

template<class T>
sc_core::sc_buffer< T >::sc_buffer ( const char *  name_  )  [inline, explicit]

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

00111         : base_type( name_ )
00112         {}

template<class T>
sc_core::sc_buffer< T >::sc_buffer ( const sc_buffer< T > &   )  [private]


関数

template<class T>
void sc_core::sc_buffer< T >::write ( const T &  value_  )  [inline, virtual]

sc_core::sc_signal< T >を再定義しています。

sc_buffer.h153 行で定義されています。

00154 {
00155     sc_object* writer = sc_get_curr_simcontext()->get_current_writer();
00156     if( sc_signal<T>::m_writer == 0 ) {
00157         sc_signal<T>::m_writer = writer;
00158     } else if( sc_signal<T>::m_writer != writer ) {
00159         sc_signal_invalid_writer( this, sc_signal<T>::m_writer, writer );
00160     }
00161 
00162     this->m_new_val = value_;
00163     this->request_update();
00164 }

template<class T>
sc_buffer<T>& sc_core::sc_buffer< T >::operator= ( const T &  a  )  [inline]

sc_core::sc_signal< T >を再定義しています。

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

00124         { write( a ); return *this; }

template<class T>
sc_buffer<T>& sc_core::sc_buffer< T >::operator= ( const base_type a  )  [inline]

sc_buffer.h126 行で定義されています。

00127         { write( a.read() ); return *this; }

template<class T>
sc_buffer<T>& sc_core::sc_buffer< T >::operator= ( const this_type a  )  [inline]

sc_buffer.h129 行で定義されています。

00130         { write( a.read() ); return *this; }

template<class T>
virtual const char* sc_core::sc_buffer< T >::kind (  )  const [inline, virtual]

sc_core::sc_signal< T >を再定義しています。

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

00133         { return "sc_buffer"; }

template<class T>
void sc_core::sc_buffer< T >::update (  )  [inline, protected, virtual]

sc_core::sc_signal< T >を再定義しています。

sc_buffer.h170 行で定義されています。

00171 {
00172     this->m_cur_val = this->m_new_val;
00173     if ( sc_signal<T>::m_change_event_p )
00174             sc_signal<T>::m_change_event_p->notify(SC_ZERO_TIME);
00175     this->m_delta = sc_delta_count();
00176 }


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

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