IOCPクラス設計の草案
pipeline_element自体が出力先のpipeline_elementのコンテナになってるんだから
pipeline自体がいらないんじゃないの。コンポジションっぽく
あー。pipelineなんてはじめからなかった。
継承でやるかテンプレートでやるか悩むけど・・うーん
コンポジションをテンプレートでやるとETになるんじゃないかな。これは・・
たとえばファイルから取得したバッファをソケットとDBに書き込みたいなっと
pipeline_element<FILE,pipeline_element<BUFFER,pipeline_element<SOCKET>,pipeline_element<DB> > > line;
うはwwだめだこいつ。はやくなんとかしないと
そう考えると継承したほうがいいよなぁ
class pipeline_element { pipeline_element(device& dev) { ... } file_device f; buffer_device b; socket_device s; db_device d; pipeline_element line1(f); pipeline_element line2(b); pipeline_element line3(s); pipeline_element line4(d); line1 >> line2; line2 >> line3; line2 >> line4;
これはこれで・・
でも継承のほうが見やすいかなー
テンプレートを使うとコンテナが使えないのが痛いよね
boost::anyはいやですし
もう少し考えて見よっと。