gem5  v22.1.0.0
Classes | Namespaces | Macros | Functions
sc_spawn.hh File Reference
#include <functional>
#include <vector>
#include "sc_join.hh"
#include "sc_process_handle.hh"

Go to the source code of this file.

Classes

struct  sc_gem5::ProcessObjFuncWrapper< T >
 
struct  sc_gem5::ProcessObjRetFuncWrapper< T, R >
 
class  sc_core::sc_spawn_options
 
struct  sc_core::sc_spawn_options::Reset< T >
 

Namespaces

 sc_core
 
 sc_gem5
 
 sc_unnamed
 

Macros

#define SC_FORK
 
#define SC_JOIN
 
#define SC_CJOIN
 

Functions

Process * sc_gem5::spawnWork (ProcessFuncWrapper *func, const char *name, const ::sc_core::sc_spawn_options *opts)
 
template<typename T >
sc_process_handle sc_core::sc_spawn (T object, const char *name_p=nullptr, const sc_spawn_options *opt_p=nullptr)
 
template<typename T >
sc_process_handle sc_core::sc_spawn (typename T::result_type *r_p, T object, const char *name_p=nullptr, const sc_spawn_options *opt_p=nullptr)
 
template<typename F , typename... Args>
auto sc_core::sc_bind (F &&f, Args &&...args) -> decltype(std::bind(std::forward< F >(f), std::forward< Args >(args)...))
 
template<typename T >
auto sc_core::sc_ref (T &&v) -> decltype(std::ref(std::forward< T >(v)))
 
template<typename T >
auto sc_core::sc_cref (T &&v) -> decltype(std::cref(std::forward< T >(v)))
 

Macro Definition Documentation

◆ SC_CJOIN

#define SC_CJOIN
Value:
}; \
for (int i = 0; i < sizeof(forkees) / sizeof(forkees[0]); i++) \
join.add_process(forkees[i]); \
join.wait_clocked(); \
}
void add_process(sc_process_handle)
Definition: sc_join.cc:41
Bitfield< 7 > i
Definition: misc_types.hh:67

Definition at line 186 of file sc_spawn.hh.

◆ SC_FORK

#define SC_FORK
Value:

Definition at line 173 of file sc_spawn.hh.

◆ SC_JOIN

#define SC_JOIN
Value:
}; \
for (int i = 0; i < sizeof(forkees) / sizeof(forkees[0]); i++) \
join.add_process(forkees[i]); \
join.wait(); \
}

Definition at line 177 of file sc_spawn.hh.


Generated on Wed Dec 21 2022 10:23:00 for gem5 by doxygen 1.9.1