eg wrote:
I think a small section in the tutorial (with a simple example) on implementing symmetric_filters might be useful. I recall this has come up a few times on the list. It is hard for new users to tease out the nuances of the iostreams aspects of symmetric_filters by only looking at the supplied zlib and bzip2 filter implementations.
Michael Linck wrote:
I haven't posted to this list in a while, but I noticed this discussion going on. I actually made use of the boost::iostream stuff a few months back and I can confirm that, while the documentation is plentiful, and good for providing high level conceptual overview, it lacks some pretty important details. What I found most poignantly lacking was documentation of exactly what interfaces filters, source and sinks should implement to be used in the various streams. This was spread out throughout the docs, instead of being summarized in one place. I figured it out eventually, but it felt like a lot of guesswork, and piecing things together from various chunks of documentation and header files. Honestly, it made me reconsider template programming altogether, since it made me realize that the lack of an explicit interface can be seriously frustrating and we don't have a standardized way of documenting implicit interfaces yet. Also, I noticed some interesting behaviors. Calling sync on a stream, didn't seem to call flush on my filter, but the destructor did, causing some interesting side effects.
- mike
Thanks, guys. I will try to improve the docs to address these concerns. -- Jonathan Turkanis CodeRage http://www.coderage.com