hamigaki.png

前のページ 上に戻る ホーム 次のページ

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 queries

  1. R result();
    Returns: 前回の戻り値を返す

selfN modifiers

  1. void exit();
    Effects: コルーチンの実行を中断し、終了させる。
    Returns: 決して戻らない
    Throws: exit_exception
  2. boost::tuple<T1,T2, ..., TN> yield(R r);
    Effects: コルーチンの実行を一時中断し、呼び出し元にコンテキストを戻す。コルーチンの戻り値はrになる。
    Returns: 再度呼び出された際のコルーチンの引数
  3. 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: 再度呼び出された際のコルーチンの引数
製作著作 © 2006-2008 Takeshi Mouri

前のページ 上に戻る ホーム 次のページ