@Rayerd あった方が便利だと思います.と言ってもinterface InOutStream : InStream, OutStream{}だけですが.僕の方の実装も明日,明後日くらいにはあげたいと思います.(SHOOさんより優れている!と言うわけでは無いですが,参考として)
2010-07-05 02:58:44StreamWrapperは静的ダックタイピングで不可能な事があった場合の為.程度じゃないかにゃぁ.SHOOさんがdusersにかかれているのもそういうことだと思う.
2010-07-05 03:01:10InOutStream[]はInOutStreamの集合.ConduitはInStreamとOutStreamの異なる二本のStreamを一本に見せる.使われる場所が違う.
2010-07-05 03:02:51struct Cond(I, O) {}として,auto cond = Cond!(FileStream, SocketStream)(f, s);もアリだし,そこで,静的ダックタイピングで不可な状況になれば,Cond!(InStream, OutStream)[] conds;
2010-07-05 03:05:32@satoru_h ただ,実行時にFileStreamやSocketStream,MemoryStreamを切り換えることってまずないじゃない.だからduck typingなんでしょ.だったら(続く
2010-07-05 03:07:05@satoru_h InOutStream[] ss; ss~=fileStream; ss~=memoryStream;とか現れない.stream collectionは静的なTypeTuple!(MemoryStream, FileStream, ...)などで書けるよね
2010-07-05 03:11:18@Rayerd こちらは同意.想定されているwrapの使われ方は別なところにあると思うけれど,それがほんとに必要かは僕は分かっていない.ただ,wrapはconduitと違って他のstreamを使用する関数などには影響しないのであっても邪魔じゃない.
2010-07-05 03:15:03@satoru_h ぬーぬー.InputStream/OutputStream InterfaceとStreamTupleがあればそれでいいような気がしている
2010-07-05 03:18:16wrapは絶対いるよね!って僕言ったかな?wrapは存在しても邪魔じゃない.程度のスタンスであることをあらかじめ(どこがだよ)断っておく.
2010-07-05 03:19:16@satoru_h 話しながら考えましょうw 僕も自信ないw 俺が考えてたのはIOStream Interfaceは異型のstream(ex; FileStreamとMemoryStream)までもまとめることができるけど,この機能はオーバースペックじゃないの?ってことかな.
2010-07-05 03:22:09ごめんね(´・ω・`) RT @satoru_h: wrapは絶対いるよね!って僕言ったかな?wrapは存在しても邪魔じゃない.程度のスタンスであることをあらかじめ(どこがだよ)断っておく.
2010-07-05 03:22:36いや,wrapが無いならinterface InputStream/OutputStreamもいらない.利用上は.あった方がStreamを実装する人にわかりやすいけど.
2010-07-05 03:22:39@satoru_h でもこれを言い出すとInputStreat/OutputStream Interfaceもいらない・・・あ,同じこと言ってるw
2010-07-05 03:24:36@Rayerd なるなる.静的に型が決まる場合には,isInputStream(etc.)があれば他はいらないと思います.(理論的には)TypeTupleでさえも.# TypeTupleって動的に長さ変えられないですよね?
2010-07-05 03:26:10@Rayerd なので,静的に型が決まらない場合,集合のサイズが決まらない場合,が_あるとすれば_wrapは必要ですよね?(確認:あんま分かってない)
2010-07-05 03:27:45@satoru_h そう長さは変えられないんだ.「長さを変えられる」「異なるstreamを受け取れる」の2つは別の特性だと思うんだよね
2010-07-05 03:27:52@Rayerd なるほど.長さを変えられる -> FileStream[].いろいろ+長さを変える -> StreamWrapper[]ですね.
2010-07-05 03:29:48@satoru_h そういう意味でStreamWrapperは現実問題に対してオーバースペック(Andreiが嫌いな動的多態性の性質?)なんだよなあと
2010-07-05 03:32:58