| 
    SystemC
    Recoding Infrastructure for SystemC v0.6.0 derived from Accellera SystemC 2.3.1
    
   Accellera SystemC proof-of-concept library 
   | 
 
#include <string>#include <cassert>#include "sysc/utils/sc_iostream.h"#include "sysc/kernel/sc_constants.h"#include "sysc/kernel/sc_object.h"#include "sysc/kernel/sc_kernel_ids.h"#include "sysc/communication/sc_export.h"#include <list>#include <set>#include "sysc/kernel/sc_cmnhdr.h"#include <pthread.h>#include "sysc/kernel/sc_time.h"#include "sysc/datatypes/int/sc_nbdefs.h"

Go to the source code of this file.
Classes | |
| class | sc_core::sc_process_host | 
| This is the base class for objects which may have processes defined for their methods (e.g., sc_module).  More... | |
| class | sc_core::sc_process_monitor | 
| class | sc_core::sc_throw_it_helper | 
| class | sc_core::sc_throw_it< EXCEPT > | 
| struct | sc_core::sc_chnl_lock | 
| A data structure to keep the state of a channel lock.  More... | |
| class | sc_core::sc_acq_chnl_lock_queue | 
| A list of channel locks acquired by a process.  More... | |
| class | sc_core::sc_timestamp | 
| A time stamp combining timed cycles and delta cycles.  More... | |
| class | sc_core::sc_process_b | 
| User initiated dynamic process support.  More... | |
| struct | sc_core::scoped_flag | 
Namespaces | |
| sc_core | |
Macros | |
| #define | SC_INCLUDE_WINDOWS_H | 
| #define | CHNL_MTX_TYPE_ pthread_mutex_t | 
| #define | CHNL_PTHREAD_NULL_ NULL | 
| #define | CHNL_MTX_INIT_(Mutex) pthread_mutex_init( &(Mutex), CHNL_PTHREAD_NULL_ ) | 
| #define | CHNL_MTX_LOCK_(Mutex) pthread_mutex_lock( &(Mutex) ) | 
| #define | CHNL_MTX_UNLOCK_(Mutex) pthread_mutex_unlock( &(Mutex) ) | 
| #define | CHNL_MTX_TRYLOCK_(Mutex) ( false ) | 
| #define | CHNL_MTX_DESTROY_(Mutex) pthread_mutex_destroy( &(Mutex) ) | 
| #define | _SYSC_PRINT_VERBOSE_MESSAGE_ENV_VAR "SYSC_PRINT_VERBOSE_MESSAGE" | 
| #define | SC_USE_MEMBER_FUNC_PTR | 
| Process invocation method or function.  More... | |
| #define | SC_DECL_HELPER_STRUCT(callback_tag, func) /*EMPTY*/ | 
| #define | SC_MAKE_FUNC_PTR(callback_tag, func) static_cast<sc_core::SC_ENTRY_FUNC>(&callback_tag::func) | 
Typedefs | |
| typedef class sc_cthread_process * | sc_core::sc_cthread_handle | 
| typedef class sc_method_process * | sc_core::sc_method_handle | 
| typedef class sc_thread_process * | sc_core::sc_thread_handle | 
| typedef void(sc_process_host::* | sc_core::SC_ENTRY_FUNC )() | 
| typedef sc_process_b | sc_core::sc_process_b | 
Functions | |
| const char * | sc_core::sc_gen_unique_name (const char *, bool preserve_first) | 
| sc_process_handle | sc_core::sc_get_current_process_handle () | 
| void | sc_core::sc_thread_cor_fn (void *arg) | 
| bool | sc_core::timed_out (sc_simcontext *) | 
| void | sc_core::sc_set_stack_size (sc_thread_handle, std::size_t) | 
| void | sc_core::sc_set_stack_size (sc_method_handle, std::size_t) | 
Variables | |
| bool | sc_core::sc_allow_process_control_corners | 
| #define _SYSC_PRINT_VERBOSE_MESSAGE_ENV_VAR "SYSC_PRINT_VERBOSE_MESSAGE" | 
Definition at line 99 of file sc_process.h.
| #define CHNL_MTX_DESTROY_ | ( | Mutex | ) | pthread_mutex_destroy( &(Mutex) ) | 
Definition at line 88 of file sc_process.h.
| #define CHNL_MTX_INIT_ | ( | Mutex | ) | pthread_mutex_init( &(Mutex), CHNL_PTHREAD_NULL_ ) | 
Definition at line 73 of file sc_process.h.
| #define CHNL_MTX_LOCK_ | ( | Mutex | ) | pthread_mutex_lock( &(Mutex) ) | 
Definition at line 75 of file sc_process.h.
| #define CHNL_MTX_TRYLOCK_ | ( | Mutex | ) | ( false ) | 
Definition at line 84 of file sc_process.h.
| #define CHNL_MTX_TYPE_ pthread_mutex_t | 
Definition at line 65 of file sc_process.h.
| #define CHNL_MTX_UNLOCK_ | ( | Mutex | ) | pthread_mutex_unlock( &(Mutex) ) | 
Definition at line 77 of file sc_process.h.
| #define CHNL_PTHREAD_NULL_ NULL | 
Definition at line 70 of file sc_process.h.
| #define SC_DECL_HELPER_STRUCT | ( | callback_tag, | |
| func | |||
| ) | /*EMPTY*/ | 
Definition at line 212 of file sc_process.h.
| #define SC_INCLUDE_WINDOWS_H | 
Definition at line 43 of file sc_process.h.
| #define SC_MAKE_FUNC_PTR | ( | callback_tag, | |
| func | |||
| ) | static_cast<sc_core::SC_ENTRY_FUNC>(&callback_tag::func) | 
Definition at line 213 of file sc_process.h.
| #define SC_USE_MEMBER_FUNC_PTR | 
Process invocation method or function.
Define SC_USE_MEMBER_FUNC_PTR if we want to use member function pointers to implement process dispatch. Otherwise, we'll use a hack that involves creating a templated invocation object which will invoke the member function. This should not be necessary, but some compilers (e.g., VC++) do not allow the conversion from `void (callback_tag::*)()' to `void (sc_process_host::*)()'. This is supposed to be OK as long as the dynamic type is correct. C++ Standard 5.4 "Explicit type conversion", clause 7: a pointer to member of derived class type may be explicitly converted to a pointer to member of an unambiguous non-virtual base class type.
Definition at line 203 of file sc_process.h.
 1.8.5