75 class sc_without_context;
114 const T* m_value_ptr;
142 sc_context(
const sc_context<T>& );
143 void*
operator new( std::size_t );
154 const T&
value()
const;
159 const T*& m_def_value_ptr;
160 const T* m_old_value_ptr;
173 sc_global<T>* sc_global<T>::m_instance = 0;
177 sc_global<T>::sc_global()
180 , m_proc( &m_instance )
188 sc_global<T>::update()
193 const T* vp = m_map[p];
196 vp =
new T( sc_without_context() );
197 m_map.insert( p, vp );
210 if( m_instance == 0 )
238 m_def_value_ptr(
sc_global<T>::instance()->value_ptr() ),
243 m_old_value_ptr = m_def_value_ptr;
244 m_def_value_ptr = &m_value;
252 if( m_old_value_ptr != 0 )
254 m_def_value_ptr = m_old_value_ptr;
265 if( m_old_value_ptr == 0 )
267 m_old_value_ptr = m_def_value_ptr;
268 m_def_value_ptr = &m_value;
281 if( m_old_value_ptr != 0 )
283 m_def_value_ptr = m_old_value_ptr;
sc_process_b * sc_get_current_process_b()
#define SC_REPORT_ERROR(msg_type, msg)
sc_process_b sc_process_b
static sc_global< T > * instance()
static const T & default_value()
unsigned default_ptr_hash_fn(const void *)