gem5
v20.1.0.0
|
CallerType: A reference to an object of this class will be passed to the coroutine task. More...
#include <coroutine.hh>
Public Member Functions | |
template<typename T = Ret> | |
CallerType & | operator() (typename std::enable_if< !std::is_same< T, void >::value, T >::type param) |
operator() is the way we can jump outside the coroutine and return a value to the caller. More... | |
template<typename T = Ret> | |
std::enable_if< std::is_same< T, void >::value, CallerType >::type & | operator() () |
operator() is the way we can jump outside the coroutine More... | |
template<typename T = Arg> | |
std::enable_if<!std::is_same< T, void >::value, T >::type | get () |
get() is the way we can extrapolate arguments from the coroutine caller. More... | |
Protected Member Functions | |
CallerType (Coroutine &_coro) | |
Private Attributes | |
Coroutine & | coro |
Fiber * | callerFiber |
RetChannel | retChannel |
Friends | |
class | Coroutine |
CallerType: A reference to an object of this class will be passed to the coroutine task.
This is the way it is possible for the coroutine to interface (e.g. switch back) to the coroutine caller.
Definition at line 83 of file coroutine.hh.
|
inlineprotected |
Definition at line 87 of file coroutine.hh.
|
friend |
Definition at line 85 of file coroutine.hh.
|
private |
Definition at line 154 of file coroutine.hh.
Referenced by m5::Coroutine< Arg, Ret >::call(), m5::Coroutine< Arg, Ret >::CallerType::get(), and m5::Coroutine< Arg, Ret >::CallerType::operator()().
|
private |
Definition at line 153 of file coroutine.hh.
Referenced by m5::Coroutine< Arg, Ret >::CallerType::get().
|
private |
Definition at line 155 of file coroutine.hh.
Referenced by m5::Coroutine< Arg, Ret >::get(), and m5::Coroutine< Arg, Ret >::CallerType::operator()().