Boost.Coroutineの実装を見つつ、得られた成果を自分で作ったFiberコードに反映しようとしているが、なかなか思うようにはかどらない。
読むにあたっての前提知識が不足しているから。例えばmplやBOOST PPなど。あとboost.functionの実装についても知っておいた方が良いかも。
読んでるうちに、ここまで汎用化しているモノを使用しなくても良いような気がしてきたので、実装方法をつまみ食いして自分のコードに取り込みたいけれど、まだそこまで至らずというところだ。
今はBoost.functionの実装について解説しているサイトを漁っているところ。
http://blogs.wankuma.com/shuujin/archive/2008/01/07/116317.aspx
http://d.hatena.ne.jp/mb2sync/20050324
http://d.hatena.ne.jp/faith_and_brave/20080220/1203498818
あ、そうだ、C++テンプレートテクニックにもType Erasureの項目で載っていたような。。
https://www.amazon.co.jp/C-%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-%CE%B5%CF%80%CE%B9%CF%83%CF%84%CE%B7%CE%BC%CE%B7/dp/4797354534