64b Forwarding I/O activity

Contents|Index|Previous|Next

Forwarding I/O activity

An indirectbuf is one that forwards all of its I/O requests to another streambuf.

An indirectbuf can be used to implement Common Lisp synonym-streams and two-way-streams, as with the following example.

class synonymbuf : public indirectbuf { 
   Symbol *sym; 
   synonymbuf(Symbol *s) { sym = s; } 
   virtual streambuf *lookup_stream(int mode) { 
      return coerce_to_streambuf(lookup_value(sym)); } 
}; 
0