#include <sc_event.h>
Protected メソッド | |
void | push_back (const sc_event &) |
sc_event_list (const sc_event &, bool and_list_, bool auto_delete_=false) | |
int | size () const |
bool | and_list () const |
void | add_dynamic (sc_method_handle) |
void | add_dynamic (sc_thread_handle) |
void | remove_dynamic (sc_method_handle, const sc_event *) |
void | remove_dynamic (sc_thread_handle, const sc_event *) |
void | auto_delete () |
Private メソッド | |
sc_event_list () | |
sc_event_list (const sc_event_list &) | |
sc_event_list & | operator= (const sc_event_list &) |
Private 変数 | |
std::vector< const sc_event * > | m_events |
bool | m_and_list |
bool | m_auto_delete |
フレンド | |
class | sc_process_b |
class | sc_method_process |
class | sc_thread_process |
sc_event.h の 319 行で定義されています。
sc_core::sc_event_list::sc_event_list | ( | const sc_event & | e, | |
bool | and_list_, | |||
bool | auto_delete_ = false | |||
) | [inline, protected] |
sc_event.h の 361 行で定義されています。
00364 : m_and_list( and_list_ ), 00365 m_auto_delete( auto_delete_ ) 00366 { 00367 m_events.push_back( &e ); 00368 }
sc_core::sc_event_list::sc_event_list | ( | ) | [private] |
sc_core::sc_event_list::sc_event_list | ( | const sc_event_list & | ) | [private] |
void sc_core::sc_event_list::push_back | ( | const sc_event & | e | ) | [protected] |
sc_event.cpp の 392 行で定義されています。
00393 { 00394 // make sure e is not already in the list 00395 if ( m_events.size() != 0 ) { 00396 const sc_event** l_events = &m_events[0]; 00397 for( int i = m_events.size() - 1; i >= 0; -- i ) { 00398 if( &e == l_events[i] ) { 00399 // event already in the list; ignore 00400 return; 00401 } 00402 } 00403 } 00404 m_events.push_back( &e ); 00405 }
int sc_core::sc_event_list::size | ( | ) | const [inline, protected] |
bool sc_core::sc_event_list::and_list | ( | ) | const [inline, protected] |
void sc_core::sc_event_list::add_dynamic | ( | sc_method_handle | method_h | ) | [protected] |
sc_event.cpp の 409 行で定義されています。
00410 { 00411 if ( m_events.size() != 0 ) { 00412 const sc_event** l_events = &m_events[0]; 00413 for( int i = m_events.size() - 1; i >= 0; -- i ) { 00414 l_events[i]->add_dynamic( method_h ); 00415 } 00416 } 00417 }
void sc_core::sc_event_list::add_dynamic | ( | sc_thread_handle | thread_h | ) | [protected] |
sc_event.cpp の 420 行で定義されています。
00421 { 00422 if ( m_events.size() != 0 ) { 00423 const sc_event** l_events = &m_events[0]; 00424 for( int i = m_events.size() - 1; i >= 0; -- i ) { 00425 l_events[i]->add_dynamic( thread_h ); 00426 } 00427 } 00428 }
void sc_core::sc_event_list::remove_dynamic | ( | sc_method_handle | method_h, | |
const sc_event * | e_not | |||
) | [protected] |
sc_event.cpp の 431 行で定義されています。
00433 { 00434 if ( m_events.size() != 0 ) { 00435 const sc_event** l_events = &m_events[0]; 00436 for( int i = m_events.size() - 1; i >= 0; -- i ) { 00437 const sc_event* e = l_events[i]; 00438 if( e != e_not ) { 00439 e->remove_dynamic( method_h ); 00440 } 00441 } 00442 } 00443 }
void sc_core::sc_event_list::remove_dynamic | ( | sc_thread_handle | thread_h, | |
const sc_event * | e_not | |||
) | [protected] |
sc_event.cpp の 446 行で定義されています。
00448 { 00449 if ( m_events.size() != 0 ) { 00450 const sc_event** l_events = &m_events[0]; 00451 for( int i = m_events.size() - 1; i >= 0; -- i ) { 00452 const sc_event* e = l_events[i]; 00453 if( e != e_not ) { 00454 e->remove_dynamic( thread_h ); 00455 } 00456 } 00457 } 00458 }
void sc_core::sc_event_list::auto_delete | ( | ) | [inline, protected] |
sc_event_list& sc_core::sc_event_list::operator= | ( | const sc_event_list & | ) | [private] |
friend class sc_process_b [friend] |
friend class sc_method_process [friend] |
friend class sc_thread_process [friend] |
std::vector<const sc_event*> sc_core::sc_event_list::m_events [private] |
sc_event.h の 345 行で定義されています。
bool sc_core::sc_event_list::m_and_list [private] |
sc_event.h の 346 行で定義されています。
bool sc_core::sc_event_list::m_auto_delete [private] |
sc_event.h の 347 行で定義されています。