gem5 v25.0.0.1
Loading...
Searching...
No Matches
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

namespace  sc_core
namespace  sc_gem5
namespace  sc_unnamed

Macros

#define SC_FORK
#define SC_JOIN
#define SC_CJOIN

Functions

Processsc_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)))
template<typename F, typename... Args>
auto sc_bind (F &&f, Args &&...args) -> decltype(std::bind(std::forward< F >(f), std::forward< Args >(args)...))
template<typename T>
auto sc_ref (T &&v) -> decltype(std::ref(std::forward< T >(v)))
template<typename T>
auto 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 wait_clocked()
Definition sc_join.cc:58
void add_process(sc_process_handle)
Definition sc_join.cc:41

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.

Function Documentation

◆ sc_bind()

◆ sc_cref()

template<typename T>
auto sc_core::sc_cref ( T && v) -> decltype(std::cref(std::forward<T>(v)))

Definition at line 211 of file sc_spawn.hh.

◆ sc_ref()

template<typename T>
auto sc_core::sc_ref ( T && v) -> decltype(std::ref(std::forward<T>(v)))

Definition at line 205 of file sc_spawn.hh.


Generated on Sat Oct 18 2025 08:06:47 for gem5 by doxygen 1.14.0