#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_b * | m_proc |
const T * | m_value_ptr |
Static Private 変数 | |
static sc_global< T > * | m_instance = 0 |
sc_context.h の 88 行で定義されています。
sc_dt::sc_global< T >::sc_global | ( | ) | [inline, private] |
sc_context.h の 170 行で定義されています。
00171 : m_proc( 00172 reinterpret_cast<const sc_core::sc_process_b*>( -1 ) ), 00173 m_value_ptr( 0 ) 00174 {}
void sc_dt::sc_global< T >::update | ( | ) | [inline, private] |
sc_context.h の 180 行で定義されています。
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 }
sc_global< T > * sc_dt::sc_global< T >::instance | ( | ) | [inline, static] |
sc_context.h の 200 行で定義されています。
00201 { 00202 if( m_instance == 0 ) 00203 { 00204 m_instance = new sc_global<T>; 00205 } 00206 return m_instance; 00207 }
const T *& sc_dt::sc_global< T >::value_ptr | ( | ) | [inline] |
sc_global< T > * sc_dt::sc_global< T >::m_instance = 0 [inline, static, private] |
sc_context.h の 103 行で定義されています。
sc_core::sc_phash<const sc_core::sc_process_b*,const T*> sc_dt::sc_global< T >::m_map [private] |
sc_context.h の 105 行で定義されています。
const sc_core::sc_process_b* sc_dt::sc_global< T >::m_proc [private] |
sc_context.h の 106 行で定義されています。
const T* sc_dt::sc_global< T >::m_value_ptr [private] |
sc_context.h の 107 行で定義されています。