#include <sc_signal_rv.h>
Public 型 | |
typedef sc_signal_rv< W > | this_type |
typedef sc_signal < sc_dt::sc_lv< W > > | base_type |
typedef sc_dt::sc_lv< W > | data_type |
Public メソッド | |
sc_signal_rv () | |
sc_signal_rv (const char *name_) | |
virtual | ~sc_signal_rv () |
virtual void | register_port (sc_port_base &, const char *) |
virtual void | write (const data_type &) |
this_type & | operator= (const data_type &a) |
this_type & | operator= (const this_type &a) |
virtual const char * | kind () const |
Protected メソッド | |
virtual void | update () |
Protected 変数 | |
std::vector< sc_process_b * > | m_proc_vec |
std::vector< data_type * > | m_val_vec |
Private メソッド | |
sc_signal_rv (const this_type &) |
sc_signal_rv.h の 123 行で定義されています。
typedef sc_signal_rv<W> sc_core::sc_signal_rv< W >::this_type |
sc_signal_rv.h の 130 行で定義されています。
typedef sc_signal<sc_dt::sc_lv<W> > sc_core::sc_signal_rv< W >::base_type |
sc_signal_rv.h の 131 行で定義されています。
typedef sc_dt::sc_lv<W> sc_core::sc_signal_rv< W >::data_type |
sc_signal_rv.h の 132 行で定義されています。
sc_core::sc_signal_rv< W >::sc_signal_rv | ( | ) | [inline] |
sc_core::sc_signal_rv< W >::sc_signal_rv | ( | const char * | name_ | ) | [inline, explicit] |
sc_core::sc_signal_rv< W >::~sc_signal_rv | ( | ) | [inline, virtual] |
sc_signal_rv.h の 195 行で定義されています。
00196 { 00197 for( int i = m_val_vec.size() - 1; i >= 0; -- i ) { 00198 delete m_val_vec[i]; 00199 } 00200 }
sc_core::sc_signal_rv< W >::sc_signal_rv | ( | const this_type & | ) | [private] |
virtual void sc_core::sc_signal_rv< W >::register_port | ( | sc_port_base & | , | |
const char * | ||||
) | [inline, virtual] |
void sc_core::sc_signal_rv< W >::write | ( | const data_type & | value_ | ) | [inline, virtual] |
sc_signal_rv.h の 208 行で定義されています。
00209 { 00210 sc_process_b* cur_proc = sc_get_current_process_b(); 00211 00212 bool value_changed = false; 00213 bool found = false; 00214 00215 for( int i = m_proc_vec.size() - 1; i >= 0; -- i ) { 00216 if( cur_proc == m_proc_vec[i] ) { 00217 if( value_ != *m_val_vec[i] ) { 00218 *m_val_vec[i] = value_; 00219 value_changed = true; 00220 } 00221 found = true; 00222 break; 00223 } 00224 } 00225 00226 if( ! found ) { 00227 m_proc_vec.push_back( cur_proc ); 00228 m_val_vec.push_back( new data_type( value_ ) ); 00229 value_changed = true; 00230 } 00231 00232 if( value_changed ) { 00233 this->request_update(); 00234 } 00235 }
this_type& sc_core::sc_signal_rv< W >::operator= | ( | const data_type & | a | ) | [inline] |
this_type& sc_core::sc_signal_rv< W >::operator= | ( | const this_type & | a | ) | [inline] |
virtual const char* sc_core::sc_signal_rv< W >::kind | ( | ) | const [inline, virtual] |
void sc_core::sc_signal_rv< W >::update | ( | ) | [inline, protected, virtual] |
sc_core::sc_signal< sc_dt::sc_lv< W > >を再定義しています。
sc_signal_rv.h の 241 行で定義されています。
00242 { 00243 sc_lv_resolve<W>::resolve( this->m_new_val, m_val_vec ); 00244 base_type::update(); 00245 }
std::vector<sc_process_b*> sc_core::sc_signal_rv< W >::m_proc_vec [protected] |
sc_signal_rv.h の 178 行で定義されています。
std::vector<data_type*> sc_core::sc_signal_rv< W >::m_val_vec [protected] |
sc_signal_rv.h の 179 行で定義されています。