Class template selfN
hamigaki::coroutines::selfN —
Synopsis
template<typename R, typename T1, typename T2, ..., typename TN>
class selfN {
public:
// queries
R result();
// modifiers
void exit();
boost::tuple<T1,T2, ..., TN> yield(R);
template<typename Coroutine, typename U1, typename U2, ..., typename UM>
boost::tuple<T1,T2, ..., TN> yield_to(Coroutine, U1, U2, ..., UM);
};
Description
selfN modifiers
-
void exit();
-
boost::tuple<T1,T2, ..., TN> yield(R r);
| Effects: |
コルーチンの実行を一時中断し、呼び出し元にコンテキストを戻す。コルーチンの戻り値はrになる。 |
| Returns: |
再度呼び出された際のコルーチンの引数 |
-
template<typename Coroutine, typename U1, typename U2, ..., typename UM>
boost::tuple<T1,T2, ..., TN> yield_to(Coroutine c, U1 a1, U2 a2, ..., UM aM);
| Effects: |
コルーチンの実行を一時中断し、コルーチンcにコンテキストを移動させる。コルーチンcの引数はa1, a2, ..., aMになる。 |
| Returns: |
再度呼び出された際のコルーチンの引数 |