MultiplexStream

class MultiplexStream

Bases: ostream

This is a special ostream that forwards the data that is written to it to any number of other sources, for instance other ostreams, or explicitly to a disk file or to system logging utilities. It’s a very handy thing to set Notify to refer to when running in batch mode.

Inheritance diagram

Inheritance diagram of MultiplexStream

MultiplexStream(void)
bool add_file(Filename file)

Adds the given file to the multiplex output. The file is opened in append mode with line buffering. Returns false if the file cannot be opened.

void add_ostream(std::ostream *out, bool delete_later = false)

Adds the indicated generic ostream to the multiplex output. The ostream will receive whatever data is sent to the pipe.

void add_standard_output(void)

Adds the standard output channel.

bool add_stdio_file(FILE *file, bool close_when_done)

Adds the given file, previously opened using the C stdio library, to the multiplex output.

void add_system_debug(void)

Adds the system debug output the the multiplex output. This may map to a syslog or some such os-specific output system. It may do nothing on a particular system.

Presently, this maps only to OutputDebugString() on Windows.

void flush(void)

Forces out all output that hasn’t yet been written.