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

#include <sc_context.h>

すべてのメンバ一覧

Public メソッド

const T *& value_ptr ()

Static Public メソッド

static sc_global< T > * instance ()

Private メソッド

 sc_global ()
void update ()

Private 変数

sc_core::sc_phash< const
sc_core::sc_process_b *, const
T * > 
m_map
const sc_core::sc_process_bm_proc
const T * m_value_ptr

Static Private 変数

static sc_global< T > * m_instance = 0


説明

template<class T>
class sc_dt::sc_global< T >

sc_context.h88 行で定義されています。


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

template<class T>
sc_dt::sc_global< T >::sc_global (  )  [inline, private]

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

00171 : m_proc( 
00172         reinterpret_cast<const sc_core::sc_process_b*>( -1 ) ), 
00173         m_value_ptr( 0 )
00174 {}


関数

template<class T>
void sc_dt::sc_global< T >::update (  )  [inline, private]

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

00181 {
00182     const sc_core::sc_process_b* p = sc_core::sc_get_current_process_b();
00183     if( p != m_proc )
00184     {
00185         const T* vp = m_map[p];
00186         if( vp == 0 )
00187         {
00188             vp = new T( sc_without_context() );
00189             m_map.insert( p, vp );
00190         }
00191         m_proc = p;
00192         m_value_ptr = vp;
00193     }
00194 }

template<class T>
sc_global< T > * sc_dt::sc_global< T >::instance (  )  [inline, static]

sc_context.h200 行で定義されています。

00201 {
00202     if( m_instance == 0 )
00203     {
00204         m_instance = new sc_global<T>;
00205     }
00206     return m_instance;
00207 }

template<class T>
const T *& sc_dt::sc_global< T >::value_ptr (  )  [inline]

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

00214 {
00215     update();
00216     return m_value_ptr;
00217 }


変数

template<class T>
sc_global< T > * sc_dt::sc_global< T >::m_instance = 0 [inline, static, private]

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

template<class T>
sc_core::sc_phash<const sc_core::sc_process_b*,const T*> sc_dt::sc_global< T >::m_map [private]

sc_context.h105 行で定義されています。

template<class T>
const sc_core::sc_process_b* sc_dt::sc_global< T >::m_proc [private]

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

template<class T>
const T* sc_dt::sc_global< T >::m_value_ptr [private]

sc_context.h107 行で定義されています。


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

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