Alexander Nasonov wrote: > All of you know what is pipe and what are iostreams. In this library > they work together. > Writer-thread put objects into pipes while reader-thread get them > from the pipe. Ålthough objects are copied to/from pipe, this is > often a better alternative to object sharing because the pipe manages > inter-thread communication for you. Thus, you can concentrate on > domain logic rather then on threading primitives. > Unlike OS-provided pipes that operate with bytes of data this library > is iostream based. It means that you work with objects. > The library doesn't use OS pipes. Pipe support is implemented by hand > with a help of Boost.Threads. Synchronization occurs only in > underflow, overflow, sync, open and close functions which means fast > I/O. > The library also has two capacity models: limited and unlimited. In > the former case, if writer goes ahead of a reader it stops and waits; > in the latter case, the writer always allocates new block of memory > when overflow occurs.
[...] There is another pipestream project you can take a look at: http://pstreams.sourceforge.net/ There was also another former implementation in the Gnu Gcc lib but it was discarded, I don't know why. Philippe _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost