SystemC 3.0.0
Accellera SystemC proof-of-concept library
Classes | Namespaces | Macros | Functions
sc_initializer_function.h File Reference
#include "sysc/kernel/sc_cmnhdr.h"
#include "sysc/kernel/sc_macros.h"
#include "sysc/kernel/sc_module.h"
#include <functional>
#include <utility>
Include dependency graph for sc_initializer_function.h:

Go to the source code of this file.

Classes

class  sc_core::sc_initializer_function
 

Namespaces

namespace  sc_core
 

Macros

#define SC_INIT(object_name)
 
#define SC_NAMED_WITH_INIT(object_name, ...)
 
#define SC_THREAD_IMP(thread_name, ...)
 
#define SC_CTHREAD_IMP(thread_name, edge, ...)
 
#define SC_METHOD_IMP(method_name, ...)
 

Functions

template<class F >
const char * sc_core::sc_initializer_function_name_fwd (const char *name, F &&fn)
 

Macro Definition Documentation

◆ SC_CTHREAD_IMP

#define SC_CTHREAD_IMP (   thread_name,
  edge,
  ... 
)
Value:
SC_INIT(thread_name) { \
SC_CTHREAD(thread_name, edge); \
{ __VA_ARGS__ } \
} \
void thread_name()
#define SC_INIT(object_name)

Definition at line 58 of file sc_initializer_function.h.

◆ SC_INIT

#define SC_INIT (   object_name)
Value:
sc_core::sc_initializer_function \
SC_CONCAT_HELPER_(object_name, _initialization_fn_lambda) { [this]() { \
SC_CONCAT_HELPER_(object_name, _initialization_fn)(); \
}};\
void SC_CONCAT_HELPER_(object_name,_initialization_fn)()
#define SC_CONCAT_HELPER_(a, b)
Definition: sc_macros.h:86

Definition at line 39 of file sc_initializer_function.h.

◆ SC_METHOD_IMP

#define SC_METHOD_IMP (   method_name,
  ... 
)
Value:
SC_INIT(method_name) { \
SC_METHOD(method_name); \
{ __VA_ARGS__ } \
} \
void method_name()

Definition at line 65 of file sc_initializer_function.h.

◆ SC_NAMED_WITH_INIT

#define SC_NAMED_WITH_INIT (   object_name,
  ... 
)
Value:
[this]{ SC_CONCAT_HELPER_(object_name,_initialization_fn)(); }), __VA_ARGS__ }; \
void SC_CONCAT_HELPER_(object_name,_initialization_fn)()
#define SC_STRINGIFY_HELPER_(Arg)
Definition: sc_macros.h:77
const char * sc_initializer_function_name_fwd(const char *name, F &&fn)

Definition at line 46 of file sc_initializer_function.h.

◆ SC_THREAD_IMP

#define SC_THREAD_IMP (   thread_name,
  ... 
)
Value:
SC_INIT(thread_name) { \
SC_THREAD(thread_name); \
{ __VA_ARGS__ } \
} \
void thread_name()

Definition at line 51 of file sc_initializer_function.h.