
Takano Akio wrote:
I wrote an IO library, inspired by, and partly based on, Bulat Ziganshin's Streams library. The main aim of the library is to experiment with different design choices, especially emphasizing the following:
* Many small classes * Iconv-friendly interface
The source code and documentation can be found at: http://yogimo.sakura.ne.jp/ssc/
After my initial reaction of "oh no, not another one" :-) I took a brief look and I like it very much. I admit I don't fully understand the structure, especially the need for the Controlled classes. It would probably help to have some notes on the design: what is the motivation for the presence of each class. Going beyond just file descriptors, what kinds of stream do you envisage being instances of which classes. Also, file descriptors are not platform independent, so it would be better to stick to the notion of a "file" as the underlying device for file I/O, and have separate types for sockets, pipes, and other objects. We need to know whether the design can be efficiently implemented. Maybe Bulat could comment on that? Cheers, Simon